1.知识点:可以对照下面的录屏进行阅读
SQL> --SQL语句 SQL> --1. DML语句(Data Manipulation Language 数据操作语言): insert update delete select SQL> --2. DDL语句(Data Definition Language 数据定义语言): create/alter/drop/truncate table SQL> -- create/drop view,create/drop index(sequence,synonym) SQL> --3. DCL语句(Data Control Language 数据控制语言): commit rollback SQL> --插入insert SQL> --插入新员工 SQL> --隐式插入null值 SQL> insert into emp(empno,ename,sal,deptno) 2 values(1001,'Tom',1000,10); SQL> --显式插入null值 SQL> insert into emp(empno,ename,sal,deptno) 2 values(1001,'Tom',null,10); SQL> --引用系统参数 SQL> insert into emp(empno,ename,sal,hiredate,deptno) 2 values(1002,'Mary',2000,sysdate,20); SQL> --地址符 &:功能跟Preparement相似 SQL> insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno); SQL> --在DML语句中使用地址符 SQL> select empno,ename,&a 2 from emp; SQL> --一次插入(拷贝)一批数据 SQL> --一次性将emp中所有20号部门的员工插入到emp20 SQL> insert into emp20 2 select * from emp where deptno=20; --嵌套子查询 SQL> --truncate:截断; SQL> truncate table emp20; --等同于: delete from emp20; SQL> --delete和truncate table的区别:delete性能好于truncate SQL> --1. delete是DML,truncate是DDL (DML可以rollback,DDL不可以) SQL> --2. delete逐条删除;truncate先摧毁,再重建 SQL> --3. delet会产生碎片;truncate不会 SQL> --4. delete不会释放空间;truncate会 SQL> --插入时会提示插入一行,set feedback off 关闭提示 SQL> set feedback off SQL> --Oracle中的事务 SQL> --1. 事务的起始标志: DML语句 SQL> --2. 事务的结束标志: 提交: 显式提交:commit SQL> -- 隐式提交 :执行DDL语句后自动提交;正常退出 exit; SQL> -- 回滚: 显式回滚 rollback SQL> -- 隐式回滚:非正常退出,掉电,宕机 SQL> --控制事务 SQL> --保存点 SQL> create table testsavepoint 2 (tid number,tname varchar2(20)); SQL> insert into testsavepoint values(1,'Tom'); SQL> insert into testsavepoint values(2,'Mary'); SQL> --定义保存点 SQL> savepoint a; SQL> insert into testsavepoint values(3,'Moke'); SQL> rollback to savepoint a; --回滚到保存点a SQL> --数据库2.在Sqlplus下实际执行的结果录屏的隔离级别 SQL> --Oracle支持的隔离级别:read commited(默认):读已提交数据 SQL> --serializable():串行化,几乎不用;因为没有并发,效率低 SQL> --read only:只读
SQL> /* SQL> SQL语句 SQL> 1. DML语句(Data Manipulation Language 数据操作语言): insert update delete select SQL> 2. DDL语句(Data Definition Language 数据定义语言): create/alter/drop/truncate table SQL> create/drop view,create/drop index (sequence,synonym) SQL> 3. DCL语句(Data Control Language 数据控制语言): commit rollback SQL> */ SQL> --插入insert SQL> --插入新员工 SQL> desc emp 名称 是否为空? 类型 ----------------------------------------------------------------------------------- -------- -------------------------------------------------------- EMPNO NOT NULL NUMBER (4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER (4) HIREDATE DATE SAL NUMBER (7,2) COMM NUMBER (7,2) DEPTNO NUMBER (2) SQL> insert into emp(empno,ename,sal,deptno) 2 values(1001,'Tom',1000,10); 已创建 1 行。 SQL> --隐式插入null值、显式插入空值 SQL> insert into emp(empno,ename,sal,hiredate,deptno) 2 values(1002,'Mary',2000,sysdate,20); 已创建 1 行。 SQL> --地址符 & SQL> insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno); 输入 empno 的值: 1003 输入 ename 的值: 'Mike' 输入 sal 的值: 3000 输入 deptno 的值: 20 原值 1: insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno) 新值 1: insert into emp(empno,ename,sal,deptno) values(1003,'Mike',3000,20)