31.SQL语句的类型;
DML(Data Manipulation Language 数据操作语言): select update insert delete
DDL(Data Definition Language 数据定义语言): create table,alter table, drop table, create user
DCL(Data Control Language 数据控制语言): commit rollback
32.read only 是oracle 自己实现的事务,支持规范中的两种,默认为read commit
33. 隐式插入空值
显式插入空值
insert into emp(empno,ename,sal,deptno) values(1002,'Mike',null,10);
34. 地址符 &
insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno);
可以字符忘记加引号
insert into emp(empno,ename,sal,deptno) values(&empno,'&ename',&sal,&deptno);
也可以是表
select * from &a;
35.根据一个表创建另一个表
create table emp10 as select * from emp where 1=2; 此时只创建表结构
一次性将emp中10号部门的员工插入到emp10中
insert into emp10 select * from emp where deptno=10;
36. 子查询实现一次插入多条记录(DML语句均可嵌套子查询)
create table emp20 as select empno,ename,sal from emp where 1=2;
37. delete和truncate的区别:
delete逐条删除;truncate摧毁,再重建
delete会产生碎片;truncate不会
delete不会释放空间;truncate会
delete可以闪回;truncate不可以
在oracle 中 delete比truncate 效率高
38. set feedback off 关闭提示
39,set feedback off 开启显示sql执行的时间
40. Oracle中的事务:
事务的起始标志:DML语句为起始标志(自动开启事务)
事务的结束标志:提交:显式提交:commit
隐式提交: DDL,exit(正常退出)
回滚: 显式回滚:rollback
隐式回滚:宕机,掉电,非正常退出
savepoint a ;设置保存点
rollback to savepoint a; 回滚到保存点
41. rowid:行地址:行数据在磁盘上地址
select rowid,empno,ename from emp;
42. 使用子查询创建表
create table empincome
as
select empno,ename,sal,sal*12 annlsal,sal*12+nvl(comm,0) total from emp;
43. create table empincome2
empno,ename,sal,annlsal,total)
as
select empno,ename,sal,sal*12,sal*12+nvl(comm,0) from emp;
44. 追加新列,修改列 删除列 重命名列
alter table test2 modify tname varchar2(30);
alter table test2 drop column image;
alter table test2 rename column tname to username;
45. 删除表
drop table EMPINCOME2; 并没有真正删除,还在回收站(只有普通用户才有回收站)
查看回收站
show recyclebin
清空回收站
purge recyclebin
彻底删除表
drop table empincome purge;
46.check约束
create table test4
(tid number,
tname varchar2(20),
gender varchar2(4) check (gender in ('男','女')))
47.给约束取名:有助于找错
create table myperson
(personID varchar2(18) constraint myperson_PK primary key,
name varchar2(20) constraint myperson_name not null,
gender varchar2(4) constraint myperson_gender check (gender in ('男','女')),
email varchar2(40) constraint myperson_email_U unique
constraint myperson_email_N not null,
deptno number constraint myperson_FK references dept(deptno) ON DELETE CASCADE);
48.视图:
create view empincomeview
as
select empno,ename,sal,sal*12 annlsal,sal*12+nvl(comm,0) total from emp;
create view empincomeview
49.序列:
create sequence myseq;
insert into testseq values(myseq.nextval,'aaa');
50.索引:通过索引可以将不连续的数据看成连续的
create index myindex on emp(deptno);
51. 同义词:
create synonym hremp for hr.employees;
create synonym hremp for hr.employees