DML:数据库操纵语言(insert update delete )
****************************************DML语句操作实例****************************************
为了演示DML语句的操作,首先需要创建一张表(创建表的语句是DDL语句,会在下节讲解)
创建一个教师表(有id,名字,工资):
create table teacher(
id number primary key,
name varchar2(100),
salary number
);
insert语句的使用:
用于将数据插入到某个数据表
insert into table_name(可选属性1,可选属性2...) values (属性值1,属性值2...)
比如: insert into teacher(id,name,salary) values (1,"小明",10000)
update语句的使用:
用于更新数据表里面的内容
update table_name set 可选属性1=属性值1,可选属性2=属性值2...[where子句]
比如: update teacher set name="老王"
或者: update teacher set name="老王" where id =1
delete语句的使用:
删除数据表里面的内容
delete [from] table_name [where子句]
比如: delete from teacher where id =1
或者: delete from teacher
这两句的区别是:
前者会删除id为1的数据项 后者会删除这个表里面所有数据(慎用!!!!!!)
DML语句会产生事务
事务的特点:ACIP(原子性、一致性、隔离性和持久性)
原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行
一致性:事务在完成时,必须使所有的数据都保持一致状态
隔离性:由并发事务所作的修改必须与任何其它并发事务所作的修改隔离
持久性:事务完成之后,它对于系统的影响是永久性的
提交事物:
让这个事物里面的所有操作都生效到数据库中 commit;
回滚事物:
让这个事物里面的所有操作都撤销 rollback;
以下情况会自动提交事务:
(1)当执行DDL语句时自动提交事务
(2)当执行DCL语句时自动提交事务
(3)退出sqlplus时自动提交事务