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