数据操作与事务控制
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中强行退出②客户端连接到服务器端异常中断③系统崩溃