未指明添加的字段
# 注意:一定要按照声明的字段的先后顺序添加
INSERT INTO emp1
VALUES (1,'Tom','2000-12-21',3400);
指明添加的字段
# 指明要添加的字段 (推荐)
INSERT INTO emp1(id,hire_date,salary,`name`)
VALUES(2,'1999-09-09',4000,'Jerry');
# 说明:没有进行赋值的hire_date 的值为 null
INSERT INTO emp1(id,salary,`name`)
VALUES(3,4500,'shk');
同时添加多条记录
# 同时插入多条记录 (推荐)
INSERT INTO emp1(id,`name`,salary)
VALUES
(4,'Jim',5000),
(5,'张俊杰',5500);
一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句,但是多行的INSERT语句在处理过程中效率更高。因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句快,所以在插入多条记录时最好选择使用单条INSERT语句的方式插入。
将查询的结果添加到表中
INSERT INTO emp1(id,`name`,salary,hire_date)
#查询语句
SELECT employee_id,last_name,salary,hire_date # 查询的字段一定要与添加到的表的字段一一对应
FROM employees
WHERE department_id IN (70,60);
查询的字段一定要与添加到的表的字段一一对应
注意:
- 说明:emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度。
- 如果emp1表中要添加数据的字段的长度低于employees表中查询的字段的长度的话,就有添加不成功的风险。