4.8.1 SQL数据定义

4.8.1 SQL数据定义

在Access中,数据定义是SQL的一种特定查询,使用“数据定义”查询可以在当前数据库中创建、删除、更改表和创建索引,每个数据定义查询只能包含一条数据定义语句。

1.定义表

定义表的命令:CREATE TABLE,其语法格式为

CREATE TABLE<表名>

(<字段名1><字段类型>[(长度)][NotNull][Unique][Primary Key]

[,<字段名2><字段类型>[(长度)][Not Null][Unique]]……)

该语句功能:创建一个数据表的结构,其字段名及属性由定义确定。

说明:

(1)<表名>是所定义的数据表名。

(2)<字段类型><长度>要创建的数据表的字段名和字段类型,长度只限于文本。

(3)Not Null表示非空,Unique创建唯一索引,Primary Key设置主健(创建主索引)。

Access支持的常用数据类型说明如表4-17所示。

表4-17 常用数据类型

2.修改表

修改表命令:ALTER TABLE,其语法格式为:

ALTER TABLE表名

ADD字段名 字段类型 [Not Null] [Unique] [Primary Key]

[DROP字段名]

[ALTER字段名 数据类型]

该语句的功能:修改指定表的结构。

说明:

(1)ADD子句用于增加新字段。

(2)DROP子句用于删除指定的字段。

(3)ALTER子句用于修改原有字段。

3.删除数据表

删除表命令:DROP TABLE,其语法格式为:

DROP TABLE表名

该语句的功能:删除指定表

4.创建索引

创建索引命令:CREATE INDEX,其语法格式为:

CREATE [UNIQUE] INDEX索引名

ON表名(字段名1 [ASC|DESC] [,字段名2 [ASC|DESC] ,……])

该语名的功能:创建指定表的索引。

说明:

[ASC|DESC]表示升序或降序,[UNIQUE]表示唯一索引。

5.删除索引

删除索引命令:DROP INDEX,其语法格式为:

DROP INDEX索引名ON表名

该语名的功能:删除指定表中已存在的索引。

任务4.18 通过SQL语句,创建名为“SQL定义表查询”,创建表名为“管理系学生表”,其结构如表4-18所示。

表4-18 理系学生表结构

操作步骤:

图4-75 数据定义查询

(1)单击“创建”选项卡→“查询”组→“查询设计”,打开“查询1”的设计视图,关闭“显示表”对话框。

(2)单击“查询工具/设计”上下文选项卡→“查询类型”→“数据定义”,进入“查询1”数据定义窗口,输入如下SQL语句,如图4-75所示。

CREATE TABLE管理系学生表

(学号CHAR(10)Primary Key,姓名CHAR(8)NOT NULL,

性别CHAR(1),年龄INT,所在系CHAR(2));

(3)保存查询,命名为“SQL定义表查询”。

(4)运行查询,生成表对象“管理系学生表”。

任务4.19 通过SQL语句,完成下列操作。

(1)在“管理系学生表1”中,增加“电话号码”字段,保存为“SQL增加字段查询”。

(2)在“管理系学生表2”中,删除“电话号码”字段,保存为“SQL删除字段查询”。

(3)将“管理系学生表3”中,修改“性别”字段为逻辑型,保存为“SQL修改字段查询”。

(4)删除“管理系学生表4”,保存为“SQL删除表查询”。

(5)在“管理系学生表5”中,创建“性别”升序和“年龄”降序的多字段索引,索引名为“XBNL”,保存为“SQL创建索引查询”。

(6)在“管理系学生表6”中,删除索引“年龄”,保存为“SQL删除索引”。

操作步骤:

分别进入“查询1”的“数据定义”窗口,输入对应SQL语句,保存、运行查询。

(1)ALTER TABLE管理系学生1 ADD电话号码CHAR(11)

(2)ALTER TABLE管理系学生2 DROP电话号码

(3)ALTER TABLE管理系学生3 ALTER性别Logical

(4)DROP TABLE管理系学生4

(5)CREATE INDEX XBNL ON管理系学生表5(性别ASC,年龄DESC)

(6)DROP INDEX XBNL ON管理系学生表6