本文主要讲述SQL数据定义语言。
数据定义
SQL数据定义语言(DDL)允许创建和删除模式、域、表、视图和索引等数据库对象。
SQL主要定义的数据定义语句为:
1 | CREATE SCHEMA DROP SCHEMA |
这些语句用于创建,更新和删除概念模式。许多DBMS提供下面两个语句,虽然SQL的标准并不支持:
1 | CREATE INDEX DROP INDEX |
创建数据库
根据ISO标准,关系和其他的数据库对象都存在于某个环境中。每个环境含一个或多个目录,每个目录中包括一组模式。模式是一组数据库对象的命名集合,该集合中的对象以某种方式相互关联。模式中的对象可以是表、视图、域、声明、序列、转变规则和字符集。模式中的所有对象有相同的所有者并且共享若干默认值。
模式定义语句有如下形式:
1 | CREATE SCHEMA [Name | AUTHORIZATION CreatorIdentifier] |
可以使用DROP SCHEMA语句删除模式,形式如下:
1 | DROP SCHEMA Name [RESTRICT | CASCADE] |
如果指定了RESTRICT(它也是默认值),则模式必须为空,否则删除操作将失败。如果指定CASCADE,那么将按前面定义的顺序级联地删除与模式相关的所有对象。如果任一删除操作失败,则DROP SCHEMA操作失败。带有CASCADE限定符的DROP SCHEMA语句影响范围非常大,使用时一定要十分小心谨慎。值得注意的是,CREATE 和 DROP SCHEMA语句并未得到广泛的实现。
创建表
创建数据库结构后,就可以在数据库中为基本关系创建表结构。可以通过CREATE TABLE语句实现,该语句基本语法规则如下:
1 | CREATE TABLE TableName |