6.4.3 数据定义语句
SQL提供数据定义语言(DDL),用以创建或删除数据表、视图和索引等。具体命令如表6.2所示。
表6.2 SQL数据定义语句
1)定义、删除与修改基本表
(1)创建基本表
语句格式:
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件][,<列名><数据类型>[列级完整性约束条件]...])[,<表级完整性约束条件>];
功能:在数据库中创建一张数据表。
说明:< >表示不可缺少的命令项,[ ]表示可选项,可有可无,根据具体情况而定,每个SQL语句都必须以“;”结尾。
[例5] 创建一个学生表Student,由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空且值是唯一的。
(2)修改基本表
语句格式:
ALTER TABLE<表名>
[ADD<新列名><数据类型>[完整性约束条件]]
[DROP[<列名>|<完整性约束名>]
[MODIFY<列名><数据类型>];
功能:对已经存在的表结构进行修改,包括添加新的列、删除某一列、修改某个列的定义。
说明:ADD子句用于增加新列和新的完整性约束条件,新增加的列一律为空值;
DROP子句用于删除指定的列或完整性约束条件;
MODIFY子句用于修改原有的列定义。
[例6]向Student表增加“入学时间”列,其数据类型为日期型。
ALTER TABLE Student ADD Scome DATE;
[例7]删除关于学号必须取唯一值的约束。
ALTER TABLE Student DROP UNIQUE(Sno);
(3)删除基本表
语句格式:
DROP TABLE<表名>;
功能:将指定的基本表从外存中删除,包括表结构和表中的所有数据一起删除。
[例8]将Student表中的表头和数据一起删除。
DROP TABLE Student;
2)建立与删除索引
(1)建立索引
建立索引是为了加快查询速度。
语句格式:
CREATE[UNIQUE]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]...])[其他参数];
其中,<表名>指定要建索引的基本表的名字。索引可以建在该表的一列或多列上,各列名之间用逗号分隔,每个<列名>后面可以用<次序>指定索引值的排列次序,包括ASC(升序)和DESC(降序)两种,默认为ASC。
UNIQUE表示此索引的每一个索引值只对应唯一的数据记录。
[例9]为Student表创建一个按学号Sno升序排列的唯一索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno);
(2)删除索引
语句格式:
DROP INDEX<索引名>;
[例10]删除索引Stusno。
DROP INDEX Stusno;
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。