python - 如何从数据库的属性中派生特定元素并将它们连接到主键?
问题描述
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'),
...
我想创建一个只有 ID 和爱好的表,如下所示:
('148723', '#football')
...
有什么方法可以在 MySQL 中做到这一点,还是我必须使用 Python?提前致谢。
解决方案
你必须创建一个新表es。user_and_hobby
CREATE TABLE `user_and_hobby` (
`user_id` int NOT NULL,
`hobby` varchar(50)
);
然后从另一个表es导入数据。user
:
INSERT INTO `user_and_hobby` (`user_id`, `hobby`)
SELECT user_id, concat('#',SUBSTRING_INDEX(hobby, "#", -1))
FROM user
WHERE hobby LIKE "%#%"
有关插入+选择的更多示例,您可以在此处找到。
我想您只有一个爱好标签,如果不是这种情况,请输入所有可能的情况来修改问题
推荐阅读
- android - Gallery App IndexOutOfBoundsException 使用 Firebase 数据库
- html - 父 flexbox 容器忽略孩子的 flexbox 最小宽度
- c# - 可枚举的 foreach 扩展
- ruby-on-rails - 如何处理导致大量延迟的 Rails 查询
- ios12 - 数字键盘不显示 swift 4
- python - Pandas 按城市和月份分组并填写缺失的月份
- javascript - 如何使用 Lodash 按类别和日期对数组进行过滤和排序
- django - 类型错误:__init__() 缺少 1 个必需的位置参数:'app_module'
- java - 编译器无法识别 Lombok Getter 的覆盖方法
- python - 每行用一个随机值替换 NaN