oracle细节

时间:2022-04-27
本文章向大家介绍oracle细节,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

01、SQL查询语句不区分大小写,但是数据区分

02、where从句中Name=null是查询不到结果的,必须用 is null

03、union去重,union all 不去重,intersect求交集 minu求差集

(不必一直用select +条件来查询数据,有些关键字也非常好用)

04、sum、avg、variance(求方差)、stddev(求标准差)只用于数值

05、add_months(date,months)在当前日期上增加(months)个月,正数就是向后推移时间,负数你懂的、last_day(date)求给定月份中最后一天,

06、 months_between求给定两个日期之间有几个月 , new_time可以调整时区,sysdate返回系统当前时间

07、数学函数:ceil(number)上取整、floor(number)下取整

                        cos、cosh、sin、sinh、tan三角函数

08、EXP    返回以e为底数的幂值;LN返回给定参数的自然对数;LOG(m,n)以n为底,m为参数的对数;

MOD求余数;POWER(m,n)第一参数为底数,第二个参数为指数;SIGN返回参数的正负标识,1为正,-1为负;SQRT,返回参数的平方根,不允许负数

09、字符串函数

CHR,ASCLL码转字符;CONCAT字符串连接;INITCAP参数第一个字母大写,其他小写;LOWER,UPPER转 大小写;LPAD/RPAD至少一个参数,去除左右给定的字符;REPLACE替换字符,至少两个参数,第一个字符串,第二个是要替换的内容,第三个是替换成的内容,如果省略,则默认为搜索而不是替换;SUBSTR(str,begin,len)截取字符串;TRANSLATE(str,sstr,dstr),若str中出现的源字符串sstr中的字符,则将其转换为与sstr下标对应的dstr的字符,超出部分以空代替;LENGTH返回指定字符串的长度

10、类型转换函数(看字面意思)

TO_CHAR

TO_NUMBER

GREATST/LEAST    返回表达式中最大的和最小的

11、SQL子句

STARTING WITH ‘EXP’ 与 like ‘EXP%’类似

HAVING必须跟在GROUP BY后面,其后也必须是组函数(GROUP之后,数据已成组)

12、创建和修改用户

CREATE USER username IDENTIFIED by password;

ALTER    USER username IDENTIFIED by password;

13、关于权限

CONNECT    登录级角色,可做有限的事情

RESOURCE   允许对Oracle作更多的访问,并可赋予CONNECT权限,有创建过程、触发、索引的权限

DBA                最高级别,可做任何事情~¥~

赋予权限:GRANT role TO user [WITH GRANT OPTION];

回收权限:REVOKE role FROM user;

14、数据库访问优化的最好办法就是分流,软硬件性能再好也有极限,但是数量确实没有上限的。

优化一:分区存储,将大表分配到不同的磁盘上

例:

CREATE TABLE TEST(
ID NUMBER PRIMARY KEY,
NAME VARCHAR(20) NOT NULL)
PARTITION BY RANGE(ID)
(PARTITION T01 VALUES LESS THAN 100000,
 PARTITION T02 VALUES LESS THAN 200000);

优化二:分表存储,将大表分成小表,可以按照不同的分类标准

分表这里不再多说,可见我之前的博客《MYSQL应用优化》

ORACLE在遵照SQL语言之外拓展了许多自己的特性,使用起来节省了很多再开发的成本,整个体系比较完整,只有一点不好的就是发布商业用途要收费,呵呵。