oracle使用笔记

                1、scott解锁

alter user scott identified by tiger;

alter user scott account unlock;

2、导表

@d:/oracle/table.sql;

3、查看表结构

desc table; 

4、连接数据

'hello' || 'world'

5、去重

distinct column

6、日期转换

to_char(date,'yyyy-mm-dd')

7、转义字符

like '%\_%' escape '\'

8、查询日期94年的

like '%94'

9、字符函数lower,upper,initcap

initcap('hello world') --Hello World

10、concat连接

concat('hello','world')  --helloworld

11、substr截取

substr('helloworld',2,4) --ello

12、length长度

length('helloworld') --10

13、instr某字符首次出现的位置

instr('helloworld','w') --6 若没有返回0

14、rpad,lpad 字符补位

rpad(12000,10,'*')   --12000*****

lpad(12000,10,'*')   --*****12000

15、trim 去首位字符

trim('h' from 'hellohello') --ellohello

16、replace替换

replace('hellohello','h','x') --xelloxello 

17、数字函数round

round(155.555) -- 156

round(155.555,2) --155.56

round(155.555,-2) --200

18、mod取余

mod(1100,300) --200

19、months_between两个时间相差多少个月

months_between(date1,date2)

20、add_months 给日期加月

add_months(sysdate,12)

21、next_day 下一个星期几

next_day(sysdate,1)  --下一个星期日

22、last_day 月的最后一天

last_day(sysdate)-1  本月倒数第二天

23、round 舍入时间

round(sysdate,'hh') 

24、to_char

to_char(1234567.89,'L999,999,999,99) --¥1,234,567.89

to_char(1234567.89,'000,000,000,00) --001,234,567.89

25、to_number

to_number('¥1,234,567.89','L999,999,999,99')  --1234567.89

to_number('001,234,567.89','000,000,000,00) -- 1234567.89

26、nvl 将空值转化

nvl(column,0)

nvl(to_char(number),'ABC')  --如果number是空,显示ABC

27、nvl2 类似三目

nvl2(column,'A','B') --如果column不为空显示A,为空显示B

28、NULLIF

nullif('e1','e2') --如果e1等于e2 返回null 否则返回e1

29、coalesce

coalesce(a,b,c) --如果a为空返回b如果b为空返回c

30、case when then else end

case column when 1 then 1 else 2 end 如果列值等于1显示1,否则显示2

31、decode

decode(column,1,1,2,2,3) 如果列值等于1显示1,如果等于2显示2否则显示3

32、truncate,delete

truncate table name    --清空表

delete from table    --清空表,可以rollback

33、add

alter table name add(email varchar2(10))    --添加字段

34、modify

alter table name modify(email varchar2(20) default '[email protected]')

35、rename

alter table name rename column email to new_email    --改字段名

rename stu1 to stu2     --改表/对象名    

36、constraint

id number(8) constraint tn_id_uk unique    --列约束

constraint tn_id_uk check(id > 0)    -表约束

37、级联删除和制空

on delete set null    级联制空

on delete cascade    级联删除

38、权限

grant create view to scott    --创建视图权限

39、视图

create or replace view 

with read only    --只读

40、序列

create sequence empseq
increment by 10 --每次增长10
start with 10   --从10开始增长
maxvalue 100    --提供最大值
cycle           --需要循环

nocache         --不需要缓存登录

41、索引

create index emp_id_idx on emp(id)    --为id列创建索引

42、同义词

create synonym e for emp    --同义词

43、创建用户

create user admin identified by 123    

44、权限

grant create session to admin    --授予登录权限 

grant create table to admin    --建表权限

45、表空间

alter user aojn quota 5M(unlimited) on users

46、角色

create role manager    --创建角色manager

grant create table,create view to manager    --将创建表,创建视图权限赋予角色

grant manager to admin    --将角色赋予用户

47、分配对象权限

grant select,update on scott.emp to admin    --分给admin scott用户emp表得查看更新权限  

revoke select on scott.emp from admin  --收回权限

with grant option    --admin还可以将权限分给别人

 

你可能感兴趣的:(oracle使用笔记)