文章目录1、向原表中某些字段中插入一条记录。2、向原表的字段中插入多条记录的方法一。3、向原表的字段中插入多条记录的方法二。4、复制旧表的信息到新表(假设两个表的表结构一样)5、复制旧表信息到新表(假设两个的表的表结构不一样)。insert into是mysql中最常用的插入语句,通过 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中,目标表中任何已存在的行都不会受影响。
今天我们就来说说insert into的作用和使用方法。
1、向原表中某些字段中插入一条记录。语法:insert into +表名(表中的字段,,)value(字段所对应的记录,,);
mysql> select * from joke;+------+-----------+------ -+------+| gid | name | sex | age |+------+-----------+------ -+------+| 3 | xiaowang | male | 22 || 3 | xiaowang | male | 22 || 3 | xiaowang | male | 22 || 3 | xiaozhang | female | 22 |+------+-----------+---- ---+------+mysql> insert into joke (gid,name)value(0,"joker");mysql> select * from joke;+------+-----------+------ -+------+| gid | name | sex | age |+------+-----------+------ -+------+| 3 | xiaowang | male | 22 || 3 | xiaowang | male | 22 || 3 | xiaowang | male | 22 || 3 | xiaozhang | female | 22 || 0 | joker | NULL | NULL |+------+-----------+------ -+------+2、向原表的字段中插入多条记录的方法一。语法:insert into +表名(表中的字段,,)values(字段所对应的记录,,)(字段所对应的记录);
mysql> insert into joke (gid,name)values(0,"joker"),(1,"jhj");mysql> select * from joke;+------+-----------+------ -+------+| gid | name | sex | age |+------+-----------+------ -+------+| 3 | xiaowang | male | 22 || 3 | xiaowang | male | 22 || 3 | xiaowang | male | 22 || 3 | xiaozhang | female | 22 || 0 | joker | NULL | NULL || 0 | joker | NULL | NULL || 1 | jhj | NULL | NULL |+------+-----------+------ -+------+3、向原表的字段中插入多条记录的方法二。语法:insert into+表名 select v1,v2 union allselect v1,v2;
mysql> insert into book select "abc","bdd" union all -> select "add","dsf";mysql> select * from book;+------+------+| a | b |+------+------+| abc | bdd || add | dsf |+------+------+如果插入的记录是数字的话要在数字的逗号后面加n:
mysql> insert into Student select 1,N'刘一',18,N'男' union all -> select 2,N'钱二',19,N'女';mysql> select * from student;+------+--------+------+------+| s | sname | sage | ssex |+------+--------+------+------+| 1 | 刘一 | 18 | 男 || 2 | 钱二 | 19 | 女 || 3 | 张三 | 17 | 男 || 4 | 李四 | 18 | 女 || 5 | 王五 | 17 | 男 || 6 | 赵六 | 19 | 女 || 1 | 刘一 | 18 | 男 || 2 | 钱二 | 19 | 女 |+------+-- -----+------+------+4、复制旧表的信息到新表(假设两个表的表结构一样)语法:insert into+新表+select语句;
mysql> insert into q1 select * from 4inall where18;mysql> select * from q1;+--------+------+--------+------+--------+------+------+-------+| sname | sage | tname | t | cname | s | c | score |+--------+------+--------+------+--------+------+------+-------+| 刘一 | 18 | 叶平 | 1 | 语文 | 1 | 1 | 56 || 钱二 | 19 | 叶平 | 1 | 语文 | 2 | 1 | 79 || 张三 | 17 | 叶平 | 1 | 语文 | 3 | 1 | 91 || 王五 | 17 | 叶平 | 1 | 语文 | 5 | 1 | 46 || 赵六 | 19 | 叶平 | 1 | 语文 | 6 | 1 | 35 || abc | NULL | NULL | NULL | NULL | NULL | NULL | NULL || 刘一 | 18 | 叶平 | 1 | 语文 | 1 | 1 | 56 || 刘一 | 18 | 贺高 | 2 | 数学 | 1 | 2 | 78 || 刘一 | 18 | 杨艳 | 3 | 英语 | 1 | 3 | 67 || 刘一 | 18 | 周磊 | 4 | 物理 | 1 | 4 | 58 || 李四 | 18 | 贺高 | 2 | 数学 | 4 | 2 | 88 || 李四 | 18 | 杨艳 | 3 | 英语 | 4 | 3 | 90 || 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 |+--------+------+--------+------+--------+------+------+-------+5、复制旧表信息到新表(假设两个的表的表结构不一样)。语法:insert into+新表+字段名+select语句;
mysql> insert into q1 (sname)select 4inall.s from 4inall where2;mysql> select * from q1;+--------+------+--------+------+--------+------+------+-------+| sname | sage | tname | t | cname | s | c | score |+--------+------+--------+------+--------+------+------+-------+| 刘一 | 18 | 叶平 | 1 | 语文 | 1 | 1 | 56 || 钱二 | 19 | 叶平 | 1 | 语文 | 2 | 1 | 79 || 张三 | 17 | 叶平 | 1 | 语文 | 3 | 1 | 91 || 王五 | 17 | 叶平 | 1 | 语文 | 5 | 1 | 46 || 赵六 | 19 | 叶平 | 1 | 语文 | 6 | 1 | 35 || abc | NULL | NULL | NULL | NULL | NULL | NULL | NULL || 刘一 | 18 | 叶平 | 1 | 语文 | 1 | 1 | 56 || 刘一 | 18 | 贺高 | 2 | 数学 | 1 | 2 | 78 || 刘一 | 18 | 杨艳 | 3 | 英语 | 1 | 3 | 67 || 刘一 | 18 | 周磊 | 4 | 物理 | 1 | 4 | 58 || 李四 | 18 | 贺高 | 2 | 数学 | 4 | 2 | 88 || 李四 | 18 | 杨艳 | 3 | 英语 | 4 | 3 | 90 || 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 || 1 | NULL | NULL | NULL | NULL | NULL | NULL | NULL || 2 | NULL | NULL | NULL | NULL | NULL | NULL | NULL || 3 | NULL | NULL | NULL | NULL | NULL | NULL | NULL || 4 | NULL | NULL | NULL | NULL | NULL | NULL | NULL || 6 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |+--------+------+--------+------+--------+------+------+-------+