1、添加数据
(1)和mysql添加数据的方法相同。
(2)添加&的方式:
(3)&t:可以选择性的输入列
(4)&t:选择性的输入表
(5)一次性插入多条数据:
先创建一张表,该表的字段与emp相同:
查询工作为CLERK的员工信息,将多条信息一次插入到新创建的表中:
2、更新数据:UPDATE
3、删除数据:DELETE(如果不指定条件的话会删除表中的所有数据)
delete和truncate的区别:
(1)delete是逐条删除,truncate先摧毁表表结构,再重建表结构
(2)delete:DML(可以回滚),truncate:DDL(不可以回滚)
(3)delete:删除不会释放表空间,truncate:回释放
(4)delete:会产生碎片,truncate:不会
如果将二号位置的数据删除,二号位置便会空出来,当再次插入数据的时候会选择三号上面的位置,而不会选择二号位置,因此会产生碎片。
碎片的去除:
方法一:
alter table 表名 move;
方法二:
数据的导入和导出。
(5)delete可以闪回(flashback,一种恢复操作),truncate不可以
(6)与truncate相比,delete速度更快
4、oracle中的事务
(1)起始标志:事务中的第一条DML语句
(2)结束标志
提交
显式:提交COMMIT
隐式:正常退出:DDL、DCL
回滚
显式:回滚ROLLBACK
隐式:非正常退出、掉电
(3)保存点:
设置表存点:
savepoint 名称;
回滚到保存点:
rollback to savepoint 名称;
这样的话可以设置事务的回滚的位置,避免将一系列操作全部撤销。
(4)事务的隔离级别(三种)
READ COMMITED(默认):只允许事务读取已经被其他事务提交的变更,可以避免脏读
SERIALIZABLE(串行化):确保事务可以从一个表中读取相同的行,在这个事务持续期间,禁止其他事务对该表执行插入、更新和删除操作,所以并发问题都可以避免,当时性能十分低下。
READONLY:只能查不能改