首页 > 代码库 > 20170801上课笔记

20170801上课笔记

union

union all

排序相当耗费资源,尽量避免此情况 union同样触发排序

union排序order by 写在最后,排序的是第一条语句此地方应注意

不是必须的步骤尽量避免

intersect 用法与union一样,查询数据为多条语句union all重复的内容

minus用法与union一样,两表重复数据去除,Minus返回的总是左边表中的数据,它返回的是差集。注意:minus有剃重作用//返回第一个表中有,第二个表中没有数据

insert into 表名() values()

insert into 表名 select XXX

 

update 表 set 修改内容 where

delete from table where

created table xx as select XXX

//复制表到新表,只是复制了内容和结构,约束等并未一同复制

create table xx as select xx where 1=0//不会满足的条件

//只是复制了表结构,未复制数据

alter table my_emp add(department_name varchar2(30));//新加列

truncate table 表名 删除表里所有数据//delete和truncate功能看似一样,实际有差异

1delete是dml语句,需要事务回滚提交才会执行,truncate是ddl语句不需commit

2因此,delete会产生大量undo数据,相当于执行操作的备份数据,即rollback可恢复数据的原因

3delete操作不释放空间,truncate可直接释放控件

4delete可用where truncate直接删除

commit 提交

rollback回滚

ddl语句会将之前未提交的dml语句一同提交

update XX set XX=XX

create table XX;

create为ddl语句,执行时会将update的dml语句一起提交

 

A 原子性

C 一致性

I 隔离性

D 持久性

 

number(5,2) //5代表总位数,2代表小数点后位数

 

timestamp //服务器时间 精度高于秒

timestamp with local time zone类型和timestamp with time zone区别

最大区别就是,前者在用户提交时间给数据库的时,该类型会转换成数据库的时区来保存数据,即数据库保存的时间是数据库本地时区,当别的用户访问数据库时Oracle会自动将该时间转换成当前客户端的时间。

 

修改会话的time_zone值//更改时区值

alter session set time_zone=‘+10:00‘;//时区由东8改为东10//中国为东8

 

 

约束

not null //非空

check//为真

行与行之间

primary key(pk)//标示

unique //唯一性约束

表与表之间

foreign key(references)

 

约束定义方法

deptno int constraint dept_deptno_pk primary key

字段名 类型 关键字 约束名         约束类型

20170801上课笔记