Python 如何从数据库的属性派生特定元素并将它们连接到主键?
我想创建一个只包含ID和爱好的表,如下所示:Python 如何从数据库的属性派生特定元素并将它们连接到主键?,python,mysql,database,Python,Mysql,Database,我想创建一个只包含ID和爱好的表,如下所示: CREATE TABLE `user` ( `user_id` int NOT NULL, `name` varchar(50) NOT NULL, `hobby` varchar(50) #optional, hobby is always written in hashtags ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; INSERT INTO `user` (`
CREATE TABLE `user` (
`user_id` int NOT NULL,
`name` varchar(50) NOT NULL,
`hobby` varchar(50) #optional, hobby is always written in hashtags
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
INSERT INTO `user` (`user_id`, `name`, `hobby`)
('148723', 'max', 'random text #football'),
('578294', 'john', 'random text2'),
...
在MySQL中有没有办法做到这一点,或者我必须使用Python?提前感谢。您必须创建一个新的表es。
用户和业余爱好
('148723', '#football')
...
然后从另一个表导入数据<代码>用户:
CREATE TABLE `user_and_hobby` (
`user_id` int NOT NULL,
`hobby` varchar(50)
);
有关“插入+选择”的更多示例,请参见
在字符串()之前添加CONCAT
#
选择不带#()的hashtag单词SUBSTRING_INDEX
删除没有标签的爱好LIKE
我想你的业余爱好只有一个标签,如果不是这样,请输入所有可能的案例来修改问题谢谢你的努力!但是,在新的表中,我只希望将文本写在如下标签中:('148723',#football),而不是随机文本。而且一次导入一行太多了。是否有可能导出所有ID和相应的“嗜好”/
INSERT INTO `user_and_hobby` (`user_id`, `hobby`)
SELECT user_id, concat('#',SUBSTRING_INDEX(hobby, "#", -1))
FROM user
WHERE hobby LIKE "%#%"