Oracle应用知识tips

1.登录命令

sqlplus user_name/password@host_string

 

2.编辑最后一条命令

edit

 

3.执行sql脚本,使用@

@directory_path/example.sql

 

4.退出

exit

 

5.断开与数据库链接(*注意此时依然运行sql*plus)

disconnect

   恢复链接

connect

 

6.创建用户

create user_name identified by password

 

7.授予权限

grant connect, resource to user_name;

 

8.常用类型

char(n),

varchar2(n),

date, 范围:公元前4712年1月1日到公元后4712年12月31日 

integer,

number(precision, scale),

binary_float/binary_double, 当开发一个涉及大量数字运算的系统时,应当考虑使用binary_float或者binary_double

 

9.行标识(伪列):rowid 18位数字,以64为基数。

数据库中每一行都有一个唯一的行标识符:rowid,数据库内部通常使用它来访问该行。该值包含了该行在Oracle数据库中的物理位置。

 

10.日期运算

to_date() + 2 日期加上数字表示在这个日期上加上2天。

to_date() - to_date() 结果是这两个日期之间相差的天数。

 

11.列别名

name as “another alias”

 

12.空值 null

检查是否空值:is null / is not null

转换空值:nvl(col_name, 'default_value')

 

13.禁止显示重复行

distinct

 

14.比较操作

where customer_id > any(2, 3, 4);

where customer_id > all(2, 3, 4)

 

15.sql操作符

like

in

between

is null

is NAN (10g新增 非数字)

is INFINITE  (10g新增 无穷 匹配binary_float/binary_double)

 

16.escape

where first_name like '%a/_product%' escape '/' 

使用escape后表示_前面的反斜线是一个转义字符,不会再将_作为通配符。

 

17.排序order by 默认升序 

ASC  升序

DESC 降序

 

18.字符函数

ascii(x)

chr(x)

concat(x, y)

initcap(x)

instr(x, find_string, start, occurrence)

length(x)

lower(x)

upper(x)

lpad(x, width, pad_string)

rpad(x, width, pad_string)

ltrim(x, trim_string)

rtrim(x, trim_string)

trim([trim_char], x)

nanvl(x, value)  10g新增函数。判断x是否匹配NaN这个值。

nvl(x, value)

nvl2(x, value, value2)

replace(x, search_string, replace_string)

substr(x, start, length)

 

19.数字函数

abs(x)

acos(x)

asin(x)

atan(x)

atan2(x, y)

bitand(x, y)

cos(x)

cosh(x)

ceil(x)

exp(x)

floor(x)

log(x, y)

ln(x)

mod(x, y)

power(x, y)

round(x, y) 取整操作

sign(x)

sin(x)

sinh(x)

sqrt(x)

tan(x)

tanh(x)

trunc(x, y)

 

20.转换函数

convert(x, source_char_set, dest_char_set)

decode(x, search, result, default)

to_char(x, format)

to_clob(x)

to_date(x, format)

to_timestamp(x)

to_number(x, format)

 

21.正则表达式函数 10g

regexp_like(x, pattern, match_option)

regexp_instr(x, pattern, start, occurrence, return_option, match_option)

regexp_replace(x, pattern, replace_string, start, occurrence, match_option)

regecp_substr(x, pattern, start, occurrence, match_option)

 

22.聚合函数

avg(x)

count(x)

max(x)

median(x) 返回x的中间值

min(x)

stddev(x)

sum(x)

variance(x)

 

23.分组 group by

     过滤分组 having

 

24.日期和时间的处理

to_char(x, format)

to_date(x, format)

YYYY-MM-DD HH24:MI:SS

 

25.修改默认的日期格式

alter session set nls_date_format = 'MONTH-DD-YYYY'

 

26.时间值函数

add_month(x, y)

last_day(x) 返回包含x的月的最后一天

months_between(x, y) 返回x和y之间有几个月

next_day(x, day)

round(x, unit)

sysdate()

trunc(x, unit)

 

current_date() 返回数据库会话设置的本地区中的当前日期。

dbtimezone() 返回数据库的时区

new_time(x, time_zone1, time_zone2)

sessiontimezone() 返回数据库会话的时区

tz_offset(time_zone) 返回time_zone的时差中的小时和分钟

 

27.获取时区名

select * from v$timezone_names;

 

28.时间戳 timestamp 9i

 

29.时间间隔

interval year to month

interval day to second

 

30.查看表结构

desc

 

31.编辑sql

append

change

clear

del

list

run

/

 

32.保存、检索并运行文件

save filename

get filename 打开文件到缓冲区

start filename 打开文件到缓冲区并运行

@ filename 同start filename

edit filename

spool filename 将输出结果复制到filename所指定的文件中

 

33.设置页面大小

set pagesize 100

 

34.设置行大小

set linesize 50

 

35.清除列格式

column column_name clear

 

clear columns 清除所有列的格式化

 

36.临时变量

使用&指定临时变量 (使用&&防止重复输入一个变量)

使用set verify on/off 控制原行和新行的输出。

 

37.修改变量定义字符

set define '#'

 

38.定义变量

define product_id_var = 7

 

39.accept定义和设置变量

accept variable_name type Format format Prompt prompt

 

40.使用undefine命令删除变量

undefine product_id_var

 

41.关联子查询时exists比in的效率要高。

 

42.集合操作

union all 返回各个查询检索出的所有行,包括重复行

union 返回各个查询检索出的所有行,不包括重复行

intersect 返回两个查询检索出的共有行

minus 返回将第二个查询检索出的行从第一个查询检索出的行中减去之后剩余的记录

 

43.translate(x, from_string, to_string) 挺有意思的一函数

 

44.decode()函数和case表达式

case search_expression

 when expression1 then result1

 when expression2 then result2

 ...

 else default_result

end

 

case

 when condition1 then result1

 when condition2 then result2

 ...

 else default_result

end

 

45.创建DB link

1)在服务器的tnsnames.ora中写入相应的配置文件
2)在服务器上创建用户
create user user_remote identified by pwd_remote;
3) 给服务器上的user_local用户授权操作create database link
grant create database link to user_local;
4)服务器上用户user_local创建database link
create database link db_remote connect user_remote identified by pwd_remote using ‘db_remote’;  

// using 'db_remote' 是tnsnames.ora文件中配置的网络服务名。

 

46.事务锁

要支持并发,Oracle通过锁(lock)来确保表中的数据一直有效。

默认加锁机制:读程序(reader)不会阻塞读程序;写程序(writer)不会阻塞写程序;只有在试图对相同的行进行修改时,写程序才会阻塞写程序。

 

47.事务隔离级别

READ UNCOMMITTED

READ COMMITTED

REPEATABLE READ

SERIALIZABLE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值