数据操作与事务控制

数据操作与事务控制

DML:
insert 新增数据
update 修改数据
delete 删除数据

insert插入数据

INSERT INTO table [(column [, column...])] VALUES(value [, value...]); 

插入date类型数据时先把字符串转换为date类型(to_date)采用这种插入方式时只能追加一条记录

插入多行
INSERT INTO表名[(列名1[,列名2,…,列名n])] 子查询;
--不用写values
--INSERT子句和数据类型必须和子查询中列的数量和类型相匹 配中列的数量  

update修改数据

update 表
set column(列)=value[,column=value]
where 条件
--WHERE子句用来限定修改哪些行。
--SET子句用来限定修改哪些列。
修改多列

一次修改多列

SQL> UPDATE emp
2  SET    deptno= 20,sal=sal+100
3  WHERE  deptno= 10;

嵌入子查询修改

SQL> UPDATE emp
2  SET    deptno= 20,sal=sal+(select avg(sal)from emp)
3  WHERE  deptno= 10;

delete删除数据

DELETE [FROM]table
[WHEREcondition];

delete 表:只会删除表中的数据,不会删除表头。

当你不再需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时, 用 delete.

truncate语法
[ { database_name.[ schema_name ]. | schema_name . } ]
table_name
[ ; ]

事务

事务组成:在数据库中,事务由一组相关的DML或SELECT语句,加上一个TPL语句(COMMIT、ROLLBACK)或一个DDL语句(CREATE、 ALTER、DROP、TRUNCATE等)或一个DCL(GRANT、REVOKE)

事务特性:ACID①原子性②一致性③隔离性④持久性

事务结束:COMMIT(提交)或ROLLBACK(回滚)

隐式提交:①执行一个DDL(CREATE、ALTER、DROP、TRUNCATE、RENAME)语句;②执行一个DCL(GRANT、REVOKE)语句;③从SQL*Plus正常退出(即使用EXIT或QUIT命令退出);

隐术回滚:①从SQL*Plus中强行退出②客户端连接到服务器端异常中断③系统崩溃