假如我们有一张teachers表,里面有id、name和age三个字段。现在想要把这个表里的数据插入到另外一张表里,该怎么做呢?
1.使用INSERT INTO SELECT语句
可以使用INSERT INTO SELECT语句来完成从一张表到另外一张表的数据插入。语法如下:
INSERT INTO 表2(字段1, 字段2, ...)
SELECT 字段1,字段2, ...
FROM 表1;
其中,表2为目标表,表1为源表,字段1,字段2, ...为要插入的目标表字段和源表字段的对应关系。例如,要将teachers表中的数据插入到另一个表students中:
INSERT INTO students(id, name, age)
SELECT id, name, age
FROM teachers;
2.使用IGNORE修饰符
如果插入数据时出现重复数据,使用IGNORE修饰符可以忽略这些重复数据,同时插入不重复的数据。例如,目标表students中已经有一个id为1的数据,要将teachers表中的所有数据插入到students表中,可以使用如下语句:
INSERT IGNORE INTO students(id, name, age)
SELECT id, name, age
FROM teachers;
3.使用REPLACE INTO语句
如果插入数据时出现重复数据,使用REPLACE INTO语句可以替换掉已经存在的数据,同时插入新的数据。例如,要将teachers表中的数据插入到students表中,如果有重复数据就替换掉该数据:
REPLACE INTO students(id, name, age)
SELECT id, name, age
FROM teachers;
以上就是MySQL读取表数据插入到另外一张表的方法,读者可以根据自己实际情况选择适合自己的方法。