sql语句类型
- DML语句 (Data Manipulation Language) 数据库操作语言
insert update delete select
- DDL语言 data definition Lanaguage
create table create view index sequence synonym同义词 truncate table
- DCL语言 data control language数据语言
commit rollback savetpointe
数据控制/操作语言
可以在下列条件下执行:
事务是由完成若干项工作的DML语句组成的
insert语句
语法
使用这种语法一次只能向表中插入一条数据
INSERT INTO table [(column [,column...])] VALUES (value [,value...]);
- 为每一列添加一个新值。
- 按列的默认顺序列出各个列的值。
- 在 INSERT 子句中随意列出列名和他们的值。
- 字符和日期型数据应包含在单引号中。
插入一个完整数据
此时可以省略表后面的列名列表:
insert into emp values(1,'aaaa1','job1',7902,'17-12月-80',8000,NULL,20);
插入一个不完整数据
此时不可以省略表后面的列名列表:
insert into emp (empno,ename,job,deptno) values (2,'aaa2','job2',20);
插入空值有两种方式
插入日期/插入指定的值
insert into emp values(4,'aaaa4',to_date('1982-02-04 18:22:30','yyyy-mm-dd hh24:mi:ss'),20);
INSERT INTO employees (employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id) VALUES (113,'Louis','Popp','LPOPP','515.124.4567',SYSDATE,'AC_ACCOUNT',6900,NULL,205,100);
1 row created.
实现交互式的插入操作
- 在sql 语句中使用
& 变量
指定列值。 & 变量
放在VALUES子句中。
insert into emp (empno,deptno) values (&empno,&deptno);
从其它表中拷贝数据
在 INSERT 语句中加入子查询。
INSERT INTO sales_reps(id,name,commission_pct) SELECT employee_id,commission_pct FROM employees WHERE job_id LIKE '%REP%';
4 rows created.
- 不必书写 VALUES 子句。
- 子查询中的值列表(select 参数列表)应与 INSERT 子句中的列名列表对应。
回退事务:
sql> rollback;