1. 数据定义
SQL的数据定义包括 模式定义、表定义、视图和索引的定义
一个关系数据库管理系统的实例中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常有多个表、视图和索引等数据库对象。
1.1. 模式的定义与删除
1.1.1. 定义模式
CREATS SCHEMA<模式名>AUTHORIZATION<用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]
1.1.2. 删除模式
DROP SCHEMA<模式名><CASCADE|RESTRICT>
1.2. 基本表的定义、删除与修改
1.2.1. 定义基本表
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]]
……
[,<表级完整性约束条件>]
1.2.2. 数据类型
1.2.3. 模式与表
方法一:
在表名中明显的给出模式名
方法二:
在创建模式语句的时候创建表
方法三:
设置所属模式,这样在创建表的时候不必给出模式名
1.2.4. 修改基本表(alter)
ALTER TABLE<表名>
[ADD[COLUMN]<新列名><数据类型>[完整性约束]]
[ADD<表级完整性约束>]
[DROP[COLUMN]<列名>[CASCADE|RESTRICT(翻译是条件)]]
[DROP COSTRAINT<完整性约束名>[RESTRICT|CASCADES]]
[ALTER COLUMN<列名><数据类型>]
ADD:增加新列、 新的列级完整性约束条件和新的表级完整性约束条件
DROP COLUMN:删除表中的列:
1.指定了CASCADE:自动删除引用了该列2的对象;
2.指定了RESTRICT:如果该列被其他对象引用,RDBMS(关系数据库管理系统)拒绝删除该列;
DROP CONSTRAINT:删除指定的完整性约束条件
ALTER COLUMN:修改原有的列定义,包括修改列名和数据类型
1.2.5. 删除基本表
DROP TABLE<表名>[RESTRICT|CASCADE]
1.3. 索引的建立与删除
建立与删除索引由数据库管理员或表的属主(owner),用户不能也不必显示地选择索引
1.3.1. 建立索引
CREATE [UNIQUE] [CLUSTER] INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);
<表名>是要建检索的基本表的名字
每个列名后面可以跟着次序
UNIQUE表名此时索引的每一个索引值只对应唯一一个数据记录
1.3.2. 修改索引
ALTER INDEX<旧索引名>RENAME TO<新索引名>
1.3.3. 删除索引
DROP INDEX<索引名>
1.4. 数据字典
数据字典是关系数据库管理系统内部的一组系统表,他记录了数据库中搜有的定义信息,包括关系模式定义、视图定义、索引定义、完整性约束定义、各类用户对数据库的操作权限、统计信息等。
关系数据库管理系统在执行SQL定义语句的时候,就是在更新字典表中的相关信息