未指明添加的字段

  1. # 注意:一定要按照声明的字段的先后顺序添加
  2. INSERT INTO emp1
  3. VALUES (1,'Tom','2000-12-21',3400);

指明添加的字段

  1. # 指明要添加的字段 (推荐)
  2. INSERT INTO emp1(id,hire_date,salary,`name`)
  3. VALUES(2,'1999-09-09',4000,'Jerry');
  4. # 说明:没有进行赋值的hire_date 的值为 null
  5. INSERT INTO emp1(id,salary,`name`)
  6. VALUES(3,4500,'shk');

同时添加多条记录

  1. # 同时插入多条记录 (推荐)
  2. INSERT INTO emp1(id,`name`,salary)
  3. VALUES
  4. (4,'Jim',5000),
  5. (5,'张俊杰',5500);

一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句,但是多行的INSERT语句在处理过程中效率更高。因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句快,所以在插入多条记录时最好选择使用单条INSERT语句的方式插入。

将查询的结果添加到表中

  1. INSERT INTO emp1(id,`name`,salary,hire_date)
  2. #查询语句
  3. SELECT employee_id,last_name,salary,hire_date # 查询的字段一定要与添加到的表的字段一一对应
  4. FROM employees
  5. WHERE department_id IN (70,60);

查询的字段一定要与添加到的表的字段一一对应

注意:

  • 说明:emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度。
  • 如果emp1表中要添加数据的字段的长度低于employees表中查询的字段的长度的话,就有添加不成功的风险。