insert语句是标准sql中的语法,是插入数据的意思。在实际应用中,它也演变了很多种用法来实现特殊的功能,下面介绍在mysql数据库中insert语句的五种用法。
语法:
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');
语法:
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');
语法:
insert into tableName(colunm1,colunm2,..) select colunm1,colunm2,..;
多条数据使用union all关联即可。
insert into a(id,name,type) select 1,'A1','T1' union all select 2,'A2','T2';
语法:
insert into tableName(colunm1,colunm2,..) select colunm1,colunm2,.. from tableName1;
假设两个表的表结构一样则语句如下,否则请指定字段名称。
insert into a select * from b where id=1;
语法:
insert into tableName set colunm1=value1,colunm2=value2....;
使用set是拓展写法,可以精准的对列赋值,防止赋值时由于顺序混乱导致的数据错误,同时这种写法插入数据的速度更快,但不适合批量循环插入。
insert into a set id=1,name='A1',type='T1';
word文档下载地址:mysql中insert语句的五种用法