SQL语言:
数据定义语言(DDL,defination,CREAT、ALTER、DROP)、数据查询语言(DQL)、数据操纵语言(DML,INSERT、DELETE、UPDATE)、数据控制语言(DCL)
数据定义:
CREATE创建表、视图,索引
创建表:
创建视图:
Oracle数据库的视图可以修改,标准SQL不可以。WITH CHECK OPTION:对视图进行UPDATE、DELETE、INSERT操作时,保证更新、删除或插入的行满足视图中定义的谓词条件,机子查询中的条件表达式。
创建索引:
UNIQUE:表示索引的值不能重复,对应唯一数据记录
CLUSTER:表示建立的是聚簇索引,聚簇索引指索引项的顺序与表中记录存储的物理顺序一致的索引组织。
次序:表示索引值的排列顺序,默认ASC(DESC降序)
DROP删除表、视图、索引
删除表:DROP TABLE<表名>
删除视图:DROP VIEW<视图名>
删除索引:DROP INDEX<索引名>
ALTER增加列、修改列、删除约束,不可以删除列
数据查询:
简单查询
distinct:去重复
Oracle判断一个条件的值时,会有TRUE、FALSE、UNKNOWN(遇到NULL时)
GROUP BY:ROLLUP、CUBE、
HAVING:对分组结果进行筛选
多表连接查询:
简单连接、inner join、left join、right join、natural join、自连接
集合操作:不能在BLOB、LONG的大数据类型上进行集合操作
UNION:并运算
UNION ALL:并运算
INTERSECT:交运算
MINUS:差运算
子查询:
IN:列的值与子查询返回结果中的值进行比较
EXISTS:子查询中是否存在查询结果
数据操纵:
一般INSERT:
批量INSERT:INSERT INTO TABLE_NAME[col1,col2..] SubQuery
UPDATE:也可以通过子查询赋值
DELETE:删除后可以用ROLLBACK恢复数据
TRUNCATE:删除数据,速度快,不产生回滚信息,不可恢复数据。可结合关键字REUSE STORAGE、DROP STORAGE(默认,删除就立即释放存储空间)使用
数据控制:
GRANT:授予权限
GRANT <权限>[,<权限>]...
[ON<对象类型><对象名>]
TO<用户>[,<用户>]...
[WITH GRANT OPTION]
权限:
对象 |
对象类型 |
操作权限 |
列 |
TABLE COLUMN |
SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES |
视图 |
TABLE VIEW |
SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES |
基表 |
TABLE |
SELECT、INSERT、UPDATE、DELETE、ALTER、INDEX、ALL PRIVILEGES |
数据库 |
DATABASE |
CREATETAB |
WITH GRANT OPTION:用户是否可以传播权限
PUBLIC:全体用户
REVOKE:收回权限,收回权限可以级联
REVOKE <权限>[,<权限>]...
[ON <对象类型><对象名>]
FROM <用户>[,<用户>...]
ORACLE常用函数: