一、基本常用语句
1. 索引、主键、序列、权限
- 索引
新建索引:create index 索引名 on 表名(列名,……)
删除索引:drop index ttt;
新建唯一索引:create unique index 索引名 on 表名(列名……)
唯一索引用途:一个数据列,不能作为主键,而且允许为空,但是业务上要求唯一特性,这个时候用唯一性索引就是最好的旋转- 主键
新建主键:
alter table 表名 add constraint 主键名 primary key(主键列)
删除主键/外键:
alter table drop constraint 主键名
新建外键:
alter table add constraint 外键名 foreign key(外键列) references 表名(列名)- 序列
创建序列:
create sequence squ_t
start with 1
minvalue 1
maxvalue 999
increment by 1
nocycle //是否循环,建议不使用
nocache; //是否启用缓存。使用缓存可以提高sequence的访问效率
序列属性:
1.nextval : 返回下一个可用的序列值。
就算是被不同的用户调用,每次也返回一个唯一的值。
2.currval :获取序列当前的值。
在currval调用之前,必须保证nextval已经获取过一次值。
删除序列:
drop sequence squ_t- 权限:
grant 权限等级(select,insert,update,delete) on 权限内容(table,视图,sequence,index) to (aaaaa)
aaaaaa:
public:对所有用户开放权限
group 分组名:对该组所有用户开放权限
username:对指定用户开放权限
grant select on tablename to scott
回收权限:
revoke select on tablename from scott- exists in区别:
IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情
2.常用函数
- nvl(x1,x2)
当x1为null时返回X2,否则返回x1- instr(C1,C2,i,j)
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
i为负数,从右边开始算起- length()
字符串长度- ltrim(‘’,’’)
左截取,对应右截取rtrim(‘’,’’)
trim() 修剪- substr(s,i,j)
- abs() 绝对值
- add_months(date,i)
返回日期date加上i月的结果。i小数,直接向下取整- last_day(d)
返回d月的最后一天日期- trunc(date,format)
1.select trunc(sysdate) from dual –2011-3-18 今天的日期为2011-3-18
2.select trunc(sysdate, ‘mm’) from dual –2011-3-1 返回当月第一天.
3.select trunc(sysdate,’yy’) from dual –2011-1-1 返回当年第一天
4.select trunc(sysdate,’dd’) from dual –2011-3-18 返回当前年月日
5.select trunc(sysdate,’yyyy’) from dual –2011-1-1 返回当年第一天
6.select trunc(sysdate,’d’) from dual –2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, ‘hh’) from dual –2011-3-18 14:00:00 当前时间为14:41
8.select trunc(sysdate, ‘mi’) from dual –2011-3-18 14:41:00 TRUNC()函数没有秒的精确
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入- to_char(data,format)
to_char(oper_time,’yyyyMMddhh24’)- DECODE(x,y,z,k,j,i)
if (x==y) :z else if(x==k) :j else :i
3.其他常用:
- SQL执行顺序
(8) SELECT (9) DISTINCT (11)
(1) FROM
(3)JOIN
(2) ON
(4) WHERE
(5) GROUP BY
(6) WITH {CUBE | ROLLUP}
(7) HAVING
(10) ORDER BY
二、系统内置表:
https://www.cnblogs.com/jiangxinnju/p/5840420.html