DML: 增(insert)、删(delete)、改(update)、查(select)
添加 insert into … values(…)
先创建一张表:
create table emp1(
id number(5),
name varchar2(10),
salary number(10,2),
hire_date date
)
方式1:一条一条的添加
insert into emp1
values(1001,'AA',5600,to_date('1996-09-08','yyyy-mm-dd'));
insert into emp1(id,salary,name,hire_date)
values(1002,5500,'BB',sysdate);
insert into emp1(id,salary,name,hire_date)
values(1003,5500,'CC',null);
--如下的添加,默认salary和hire_date都为null
insert into emp1(id,name)
values(1004,'DD');
方式2:基于已经存在的表添加数据
insert into emp2
select employee_id,last_name,salary,hire_date
from employees
where department_id = 80;
创建脚本
- 在SQL语句中使用 & 变量指定列值
- & 变量放在VALUES子句中
insert into emp1
values(&id,'&name',&sal,&hiredate);
修改:update … set…where …
update emp1
set name = 'Haan'
where id = 102;
删除 delete from … where …
delete from emp1
where id = 102;
查询 select … from …
select * from emp3;
数据库事务
事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。
数据库事务由以下的部分组成:
- 一个或多个DML 语句
- 一个 DDL(Data Definition Language – 数据定义语言) 语句
- 一个 DCL(Data Control Language – 数据控制语言) 语句
- 以第一个 DML 语句的执行作为开始
- 以下面的其中之一作为结束:
- COMMIT 或 ROLLBACK 语句
- DDL 语句(自动提交)
- 用户会话正常结束
- 系统异常终止
select * from emp3;
insert into emp3(employee_id,last_name)
values(105,'EE');
savepoint A;
select * from emp3;
delete from emp3
where employee_id = 104;
savepoint B;
select * from emp3;
rollback to savepoint A;
select * from emp3;
commit;
select * from emp3;