insert语句
insert是用来插入(或添加)行到数据库表的,可以有以下几种方式
- 插入完整的行;
- 插入行的一部分;
- 插入多行;
- 插入某些查询的结果
插入完整的行
insert into emp
(empno,ename,job,mgr,hiredate,sal,comm,deptno)
values(7666,'ROSE','ClERK',7839,'1983-04-05',2100,NULL,20);
#插入一条员工数据,字段名可以省略,只要按字段顺序给出value值,但实际应该尽量避免使用
#假如字段变更,很容易导致错误
插入多行
insert into emp
(empno,ename,job,mgr,hiredate,sal,comm,deptno)
values(7666,'ROSE','ClERK',7839,'1983-04-05',2100,NULL,20),
(7555,'JACK','SALESMAN',7666,'1984-09-10',1500,200,20);
# 插入多行时可以一条一条插入,也可直接写多个values,用逗号隔开
插入检索出的数据
# 假如有以下同emp结构一样的表emp_new,将其整合到emp表中
+-------+-------+----------+------+------------+---------+--------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+----------+------+------------+---------+--------+--------+
| 7555 | JACK | SALESMAN | 7654 | 1984-09-10 | 1500.00 | 200.00 | 20 |
| 7666 | ROSE | ClERK | 7839 | 1983-04-05 | 2100.00 | NULL | 20 |
+-------+-------+----------+------+------------+---------+--------+--------+
insert into emp
(empno,ename,job,mgr,hiredate,sal,comm,deptno)
select empno,ename,job,mgr,hiredate,sal,comm,deptno
from emp_new;
# 以上两者列名一致,但实际上列名不需要一致,插入数据时是按照列的顺序来一一对应的