ORACLE总结

  • ORACLE SQL 语言:

DML:数据操纵语言,用于数据的查询与修改,是属于对数据的操作,一般的语句包括增(INSERT)、删(DELETE)、查(SELECT)、改(UPDATE)。

DDL:数据定义语言,用于定义数据库的结构,是属于对数据库对象的操作,创建数据库对象用CREATE关键字,更改表结构用ALTER关键字,删除用DROP。

DCL:数据控制语言,用于控制数据库的访问,GRANT(授予权限)、REVOKE:(撤销权限)、COMMIT(提交)、ROLLBACK(事务回滚)、SAVEPOINT(设置保存点)、LOCK(锁定)。

对于进行新增修改的数据没有进行COMMIT提交的都为未保存,而未提交的数据操纵可以ROLLBACK进行回滚,即在数据操作后没有进行COMMIT然后发现所填数据有误时可ROLLBACK。如下图所示在对SC表进行新增时把SNO字段s开头填错为c开头,而还没有进行提交操作时,就可在SQL窗口输入ROLLBACK;执行即可。

  • ORACLE 函数:

单行函数:只对一行进行转换,且每行返回一个结果。其中当行函数中包括字符函数、数值函数、日期函数、转换类函数和通用函数。

  1. 大小写控制函数:
    1. LOWER 小写转换,把数据字段全部转成小写形式
    2. UPPER 大写转换,把数据字段全部转成大写形式
    3. INITCAP 把数据字段首字母转成大写形式
  2. 字符控制函数:
    1. CONCAT 字段连接,与||相似
    2. SUBSTR 匹配固定位置字符
    3. LENGTH 获取字符长度
    4. INSER 获取匹配字段位置
    5. LPAD 规定字段长度左填充
    6. RPAD 规定字段长度右填充
    7. TRIM 截取指定字符(直接使用时去掉首尾空格)
    8. REPLACE 替换指定字符
  3. 数字函数
    1. ROUND四舍五入
    2. TRUNC 截断
    3. MOD 求余
  4. 日期函数
    1. MONTHS_BETWEEN日期间相差月数
    2. ADD_MONTHS指定日期加N月
    3. NEXT_DAY指定日期下个星期N对应日期
    4. LAST_DATE 本月最后一天
  5. 转换函数
    1. TO_DATE 日期转换(时间格式HH24:MI:SS)添加字符用""
    2. TO_CHAR字符串转换(L:本地货币符,9:数字)
    3. TO_NUMBER数字转换
  6. 通用函数
    1. Nvl(expr1,expr2) expr1 为null时,返回expr2
    2. Nvl2(expr1,expr2,expr3) expr1 不为null返回 expr2,为null返回expr3
    3. Nvllif(expr1,expr2) 相等返回null不等返回expr1
    4. Coalesce (expr1,…) 前一个为null则返回下一个

常用单行函数举例:

分组函数:作用于一组数据,并对一组数据返回一个值关键字GROUP BY

  1. AVG 平均值
  2. SUM 合计
  3. MIN 最小值
  4. MAX 最大值
  5. COUNT 总条数

注:组函数忽略空值,可以使用单行函数NVL,在计算条数时使用DISTINCT 返回非空且不重复的条数,对分组函数进行条件查询时使用 HAVING 关键字

组函数使用举例:查询EMPLOYEES 表的各个部门的SALARY平均值、总数、最大值、最小值、总条数、且平均值大于7000的按DEPARTMENT_ID倒序排序

  • 查询、过滤和排序:

查询:对数据的显示,SELECT 语句,连表时使用可使用ORACLE 中特有的连接方式:

右连接A表(+) = B表、左连接A表 = B表(+),也可使用SQL1999语法:

LEFT/RIGHT JOIN ON、CROSS JOIN 为叉集(与笛卡尔集相同),NATURAL JOIN 为自然连接会以两表中具有相同名字的列创建连接

过滤:即对数据进行条件筛选和排号在FROM 后紧接 WHERE 关键字,最后使用ORDER BY 字段进行排序

在过滤条件中字符和日期要包含在单引号中,且日期格式要与数据库记录类型一致,否则要进行字符转换

  1. 比较运输符:+-*/ 、BETWEEN ..AND ..(两个值直接包含边界)、IN(..)存在于括号内的值
  2. LIKE 模糊查询:%--代表多个任意字符,_--代表一个字符。注:在匹配特殊字段时要使用转义符:即’\’在加上ESCAPE’\’

 

SET运算符:把两个或多个查询语句用于一起显示,但所查询的字段在每个查询语句中必须要相同

    set运算符(可用于两表查询集合)

Union(all)

 两表并集(+ALL不去重)

Intersect

A表与B表的交集

Minus

把A表中含有B表的部分去除

注:在合并时如有需分别显示字段用TO_CHAR/NUMBER…(NULL)占列

  • 数据库对象操作:

Alter sequence add/modify

序列增加/修改

Rename tabkenameed to tablename

更改表名

Alter table add/modify/drop column(rename column)

表结构增加/修改(列名修改)

约束:disable失效/enable激活  constraint 约束名

 

Unique(唯一性)

Primary key

(主键)

Foregin key(外键)

表级约束:Constraint 别名Foregin key(列名) references 外表名(主键或唯一值)

Check

(检查性)

Not null

(不为空)

Drop table/view/sequence/…

对象…删除

Insert into table/View values()

数据添加(表和视图相通)

Update set(修改值)..WHERE条件

数据修改

Truncate/Delete from tablename

数据清除(Delete 可回滚rollback,Truncate不可回滚)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值