相关推荐recommended
mysql中insert语句的五种用法
作者:mmseoamin日期:2024-01-18

文章目录

  • 前言
  • 一、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 all
    	select 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 tableName  set colunm1=value1,colunm2=value2....;
    

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

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

    总结

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