文章目录

  • 前言
  • 一、values参数后单行插入
  • 二、values参数后多行插入
  • 三、搭配select插入数据
  • 四、复制旧表的信息到新表
  • 五、搭配set插入数据
  • 总结

前言

insert语句是标准sql中的语法,是插入数据的意思。在实际应用中,它也演变了很多种用法来实现特殊的功能,下面介绍在mysql数据库中insert语句的五种用法。

一、values参数后单行插入

语法:

insert into tableName (colunm1,colunm2,...) value(value1,value2,...);

如果插入多条数据,需要写多条sql。

insert into a(id,name,type) values (1,'A1','T1');insert into a(id,name,type) values (2,'A2','T2');

二、values参数后多行插入

语法:

insert into tableName(colunm1,colunm2,..) values(value1,value2...),(value1,value2...);

多条数据1条sql即可,相较于方法1效率更高。

insert into a(id,name,type) values (1,'A1','T1'),(2,'A2','T2');

三、搭配select插入数据

语法:

insert into tableName(colunm1,colunm2,..) select colunm1,colunm2,..;

多条数据使用union all关联即可。

insert into a(id,name,type)select 1,'A1','T1'union allselect 2,'A2','T2';

四、复制旧表的信息到新表

语法:

insert into tableName(colunm1,colunm2,..) select colunm1,colunm2,.. from tableName1;

假设两个表的表结构一样则语句如下,否则请指定字段名称。

insert into a select * from b where id=1;

五、搭配set插入数据

语法:

insert into tableNameset colunm1=value1,colunm2=value2....;

使用set是拓展写法,可以精准的对列赋值,防止赋值时由于顺序混乱导致的数据错误,同时这种写法插入数据的速度更快,但不适合批量循环插入。

insert into a set id=1,name='A1',type='T1';

总结

word文档下载地址:mysql中insert语句的五种用法