前言:
最近遇到一个 查询A表数据插入到B表中sql的问 所以就发文章记录下,希望能帮助到家
开发环境
win10专业版本(其他操作系统具体安装mysql请百度 )
准备工作:
安装MySQL
1 mysql 下载地址:https://www.mysql.com/
2安装数据库可视化管理工具sql yang或者Navicat for MySQL
创建表
分别创建2张表user_a 和user_b
1 user_a 里面有id username password 3个字段
2 user_b里面有 id username password sex age 5个字段
3 我们从表结构来看 user_a 是user_b 的子集合
需求分析
我们的目的很明确我们在user_b中查询到user_a中存在的字段的值插入到user_a中
通常我们插入数据的操作方式
INSERT INTO USER_A VALUES ('zb1999', 'zb123456')
我们现在的需求 是要讲user_b中的某些字段查询到然后插入到a表中
1. 同一个数据库,user_a 表存在时
INSERT INTO user_a (username,PASSWORD) SELECT username,PASSWORD FROM USER_B
但是需要注意的是 在这种情况中的"values"是不写的,否则会报sql语法错误。
2. 同一个数据库,user_a 表不存在时
select username,password, into user_a from user_b;
此种一般在中间表的时候使用。
3. 不同的数据库, A表存在时
insert into ADB.[dbo].user_a (username,password) (select username,password, from BDB.[dbo].user_b) ;
需要加上库名
但是需要注意的是 在这种情况中的"values"是不写的,否则会报sql语法错误。
需要更新的字段user_a和user_b不同的时候我们需要加as 映射一下
INSERT INTO user_a (username,password) SELECT (sex as username ,age as password )FROM USER_B
最后总结:
我也是一名刚毕业的90后程序员 ,希望我的文章能帮助到各位 ,谢谢