第3章_关系数据库标准语言(SQL)_004_数据表的创建和使用
一. 创建数据表 ===》
1. Management Studio创建 ===》
右键单击"对象资源管理器"中"数据库"
节点下的"表"节点,从快捷菜单中选择"新建表"命令,会弹出定义数据表结构对话框。其中,每一行用于定义数据表的一个字段,包括字段名、数据类型、长度、字段是否为NULL以及默认值等。
使用Management Studio创建数据表是重点的关注对象 ===》
--(1). 列名(即表中某个字段名): 由用户命名,最长128字符,可包含中文、英文、下划线、#号、货币符号(¥)及@符号。同一表中不允许有重名的列。
--(2). 数据类型: 定义字段可存放数据的类型。
--(3). 允许空: 当对某个字段的"允许空"列上打勾时,表示该字段的值允许为NULL值。这样,在向数据表中输入数据时,如果没有给该字段输入数据,系统将自动取NULL值,否则,必须给该字段提供数据。
--(4). 默认值: 表示该字段的默认值(即DEFAULT值)。如果规定了默认值,在向数据表中输入数据时,如果没有给该字段输入数据,系统自动将默认值写入该字段。
2. SQL命令创建 ===》
--(1). 基本语法:
create table <表名> (<列定义> [{, <列定义> || <表约束>}])
其中的<列定义>包括: <列名> <数据类型> [default] [{<列约束>}]
1st. "()"内表示可以有多个,但至少保证其中有一个;
2nd. "[]"内表示可以省略;
3rd. "{}"内表示可以有多个,并且可以省略,一般放在"[]"中;
--(2). 注意事项 ===》
1st. <表名>最多可有128个字符,不允许重名;
2nd. DEFAULT,若某字段设置有默认值,则当该字段未被输入数据时,以该默认值自动填入该字段;
二. 定义数据表的约束 ===》
完整性约束的基本语法格式: [constraint <约束名>] <约束类型>
1. 五种约束类型 ===》
--(1). NULL / NOT NULL: 空值 / 非空值,主键上不允许有NULL;
--(2). UNIQUE: 指明基本表在某一列或多个列的组合上的取值必须唯一(候选码的唯一性)
基本语法为 ===》
1st. 用于对列进行约束: [constraint <约束名>] unique;
2nd. 用于对表进行约束: [constraint <约束名>] unique (<列名> [{, <列名>}]);
在建立UNIQUE约束时,需要考虑以下几个因素 ===》
1st. 使用UNIQUE约束的字段允许为NULL值;
2nd. 一个表中可以允许有多个UNIQUE约束;
3rd. UNIQUE约束用于强制在指定字段上创建一个UNIQUE索引,缺省为非聚集索引;
--(3). PRIMARY KEY: 用于定义基本表的主键,起唯一标识作用。
基本语法 ===》
1st. PRIMARY KEY用于定义列约束: [CONSTRAINT <约束名>] PRIMARY KEY;
2nd. PRIMARY KEY用于定义表约束: [CONSTRAINT <约束名>] PRIMARY KEY (<列名> [{, <列名>}]);
PRIMARY KEY与UNIQUE 的区别 ===》
1st. 在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个UNIQUE约束;
2nd. 对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现NULL值,而对于UNIQUE所约束的唯一键,则允许为NULL;
3rd. 不能为同一个列或一组列,既定义UNIQUE约束,又定义PRIMARY KEY约束。
--(4). FOREIGN KEY: [CONSTRAINT<约束名>] FOREIGN KEY REFERENCES <主表名> (<列名> [{, <列名>}])
--(5). CHECK: 用来检查字段值所允许的范围,在建立CHECK约束时,需要考虑以下几个因素 ===》
1st. 一个表中可以定义多个CHECK约束;
2nd. 每个字段只能定义一个CHECK约束;
3rd. 在多个字段上定义的CHECK约束必须为表约束;
4th. 当执行INSERT、UNDATE语句时,CHECK约束将验证数据;
基本语法: [CONSTRAINT <约束名>] CHECK (<条件>)
三. 修改数据表 ===》
1. 基本语法 ===》
--(1). ALTER TABLE <表名> ADD <列定义> | <完整性约束>;
注意: 通过此方式进行增加的新列自动填充为空值,所以不能为此列指定NOT NULL。
--(2). ALTER TABLE <表名> ALTER COLUMN <列名> <数据类型> [NULL | NOT NULL];
四点注意事项 ===》
1st. 不能修改列名;
2nd. 若列中已有数据,则不能减少该列的宽度,也不能改变其数据类型;
3rd. 只能修改NULL / NOT NULL约束,其他类型的约束在修改之前必须先将约束删除,然后再重新添加修改过的约束定义;
4th. 不能将含有空值的列的定义修改为NOT NULL约束;
--(3). 删除表: ALTER TABLE <表名> DROP CONSTRAINT <约束名>;
四. 删除数据表 ===》
1. 注意事项 ===》
--(1). 当某个基本表已不再使用时,可将其删除;
--(2). 删除后,表中的数据和所建的索引都被删除,建立在该表上的视图不会删除,系统将继续保留其定义,但已无法使用;
--(3). 如果重新恢复该表,这些视图可重新使用;
2. 用Management Studio删除数据表 ===》
step_1: 在Management Studio中,右键单击要删除的表,从快捷菜单中选择"删除"命令,会弹出"删除对象"对话框;
step_2: 单击"显示依赖关系"按钮,即会弹出"依赖关系"对话框,其中列出了表所依靠的对象和依赖于表的对象,当有对象依赖于表时不能删除表;
3. 用SQL语句删除数据表 ===》
基本语法: DROP TABLE <表名>
注意: 只能删除自己建立的表,不能删除其他用户所建的表。
五. 查看数据表 ===》
1. 查看数据表的属性 ===》
step_1. 在Management Studio的"对象资源管理器"中展开"数据库"节点,选中相应的数据库,从中找到要查看的数据表。
step_2. 右键单击该表,从快捷菜单中选择"属性"菜单项,则会弹出"表属性"对话框,从中可以看到表的详细属性信息,如表名、所有者、创建日期、文件组、记录行数、数据表中的字段名称、结构和类型等。
2. 查看数据表中的数据 ===》
在Management Studio的"对象资源管理器"中,用右键单击要查看数据的表,从快捷菜单中选择"选择前1000行(W)"命令,则会显示表中的前1000条数据。
补充: 修改对表的选择命令和编辑命令 ===> 工具 ---> 选项 ---> SQL Server对象资源管理器 ---> 命令,将200和1000都改为0。

浙公网安备 33010602011771号