SQL
1.定义
1.模式的定义与删除
1.定义
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
若没有指定模式名,则默认用户名
2.删
DROP SCHEMA <模式名><CASCADE|RESTRICT>
2.基本表的定义、删除和修改
1.定义
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件]
[<列名><数据类型>[列级完整性约束条件]]
...)
2.修改
ALTER TABLE <表名>
[ADD [COLUMN ]<新列名><数据类型>[完整性约束条件]] ——添加列
[ADD <表级完整性约束>] ——添加表级约束
[DROP[COLUMN] <列名>[CASCADE|RESTRICT]] ——删除列
[DROP CONSTRAINT <完整性约束名>[RESTRICT|CASCADE]] ——删除完整性约束
[ALTER COLUMN <列名<数据类型>] ——修改列名和数据类型
3.删除
DROP TABLE <列名>[CASCADE|RESTRICT]
3.索引的建立和删除
1.建立
CREATE[UNIQUE] [CLUSTER] INDEX<索引名>
ON <表名>(<列名>[<次序>] [,<列名>[<次序>]]...)
2.修改
ALTER INDEX <旧索引名> RENAME TO <新索引名>
3.删除
DROP INDEX <索引名>
2.修改
1.插入
1.插入元组
INSERT
INTO <表名>[(<属性列1>[,<属性列2>]...)]
VALUES(<常量1>[,<常量2>]...)
2.插入子查询
INSERT
INTO<表名>[(<属性列1>[,<属性列2>]...)]
子查询
2.修改数据
修改操作又称为更新操作
UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]...
[WHERE <条件>]
3.删除数据
DELETE
FROM<表名>
[WHERE <条件>]
3.视图
1.建立视图
CREATE VIEW <视图名> [(<列名>[,<列名>]...)]
AS <子查询>
[WITH CHECK OPTION]
2.删除视图
DROP VIEW <视图名> [CASCADE]
3.查询视图
和基本表类似
4.更新视图
与基本表类似,插入(INSERT)、删除(DELETE)、修改(UPDATE)数据
4.授权:授予与收回
1.GRANT
GRANT <权限>[,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
TO <用户>[,<用户>]...
[WITH GRANT OPTION]
带有WITH GRANT OPTION可继续传递,但不可循环授权
2.REVOKE
REVOKE <权限>[,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
FROM <用户>[,<用户>]...[CASCADE|RESTRICT]
3.创建数据库模式的权限
CREATE USER <username> [WITH] [DBA|RESOURCE|CONNECT]
4.数据库用户角色
1.角色创建
CERATE ROLL <角色名>
2.给角色授权
GRANT <权限>[,<权限>]...
ON <对象类型><对象名>
TO <角色>[,<角色>]...
3.将一个角色授权给其他用户或角色
GRANT <角色1>[,<角色2>]...
TO <角色3>[<用户1>]...
[WITH GRANT OPTION]
4.角色权限收回
REVOKE <权限>[,<权限>]...
ON <对象类型><对象名>
FROM <角色>[,<角色>]...
5.完整性约束命名句子
CONSTRAINT <完整性约束条件名><完整性约束条件>
修改表中完整性限制可以使用ALTER TABLE
6.断言
1.创建断言
CREATE ASSERTION <断言名> <CHECK 子句>
2.删除断言
DROP ASSERTION <断言名>
7.触发器
1.定义
CREATE TRIGGER<触发器名>
{BEFORE|AFTER} <触发事件> ON<表名>
REFERENCING NEW|OLD ROW AS <变量>
FOR EACH{ROW|STATEMENT}
[WITH <触发条件>] <触发动作>
2.删除
DROP TRIGGER <触发器名>ON <表名>