• mysql 插入 详解


    表创建好后,就可以往里插入记录了,插入记录的基本语法如下:

    INSERT INTO tablename (field1,field2,……fieldn) VALUES(value1,value2,……valuesn);

    例如,向表emp 中插入以下记录:ename 为zzx1,hiredate 为2000-01-01,sal 为2000,deptno为1,命令执行如下:

    mysql> insert into emp (ename,hiredate,sal,deptno) values('zzx1','2000-01-01','2000',1);
    Query OK, 1 row affected (0.00 sec)

    也可以不用指定字段名称,但是values 后面的顺序应该和字段的排列顺序一致:

    mysql> insert into emp values('lisa','2003-02-01','3000',2);
    Query OK, 1 row affected (0.00 sec)
    对于含可空字段、非空但是含有默认值的字段、自增字段,可以不用在insert 后的字段列表里面出现,values 后面只写对应字段名称的value,这些没写的字段可以自动设置为NULL、
    默认值、自增的下一个数字,这样在某些情况下可以大大缩短SQL 语句的复杂性。例如,只对表中的ename 和sal 字段显式插入值:
      mysql> insert into emp (ename,sal) values('dony',1000);
      Query OK, 1 row affected (0.00 sec)

    来查看一下实际插入值:

      mysql> select * from emp;
      +--------+------------+---------+--------+
      | ename | hiredate | sal | deptno |
      +--------+------------+---------+--------+
      | zzx | 2000-01-01 | 100.00 | 1 |
      | lisa | 2003-02-01 | 400.00 | 2 |
      | bjguan | 2004-04-02 | 100.00 | 1 |
      | dony | NULL | 1000.00 | NULL |
      +--------+------------+---------+--------+

    果然,设置为可空的两个字段都显示为NULL。
    在MySQL 中,insert 语句还有一个很好的特性,可以一次性插入多条记录,语法如下:

    INSERT INTO tablename (field1, field2,……fieldn)
    VALUES
    (record1_value1, record1_value2,……record1_valuesn),
    (record2_value1, record2_value2,……record2_valuesn),
    ……
    (recordn_value1, recordn_value2,……recordn_valuesn)
    ;

    可以看出,每条记录之间都用逗号进行了分隔。
    下面的例子中,对表dept 一次插入两条记录:

    mysql> insert into dept values(5,'dept5'),(6,'dept6');
    Query OK, 2 rows affected (0.04 sec)
    Records: 2 Duplicates: 0 Warnings: 0
    mysql> select * from dept;
    +--------+----------+
    | deptno | deptname |
    +--------+----------+
    | 1 | tech |
    | 2 | sale |
    | 5 | fin |
    | 5 | dept5 |
    | 6 | dept6 |
    +--------+----------+
    5 rows in set (0.00 sec)

     这个特性可以使得MySQL 在插入大量记录时,节省很多的网络开销,大大提高插入效率。

  • 相关阅读:
    测试sql语句性能,提高执行效率
    js积累
    如何提高AJAX客户端响应速度
    视频代码
    网页视频播放器收集
    WinForm软件开机自动启动详细方法
    JS时间格式化函数
    (转)CSS+DIV float 定位
    CSS+DIV 布局三种定位方式
    CSS+DIV布局初练—DIV元素必须成对出现?
  • 原文地址:https://www.cnblogs.com/xuchunlin/p/6197445.html
Copyright © 2020-2023  润新知