SQL Server表概述

时间:2022-10-10 09:20:36

摘 要:本文介绍了表的定义、表的删除和表的修改。数据库中所有数据都是以二维表结构的形式组织的。关键词:表 创建表 删除表 修改表

中图分类号:TP392 文献标识码:A 文章编号:1003-9082 (2013) 11-0002-02

一、定义表

数据库中的所有数据存储在表中。表包括表结构和表内容。表结构决定表由几个字段(列)组成,并且根据每个字段中存储的数据,决定每个字段的数据类型和该字段的大小。表内容(行)包含了表中实际需要存储的数据。在SQL标准中,提供了CREATE TABLE语句进行表的创建,其基本语法格式如下:

CREATE TABLE

( [列级完整性约束条件][, [列级完整性约束条件]][, …n] [,表级完整性约束条件][, …n])

说明:

1)表名为新创建表的名称。通常,表名应该短而且能够反映表中存储的数据内容和表的用途。2)列名也称为字段名。通常,列名应该短而且能够反映该列中存储的数据内容。3)[列级完整性约束条件]定义该列上数据的约束条件。4)[表级完整性约束条件]定义某一列或某几列上数据的约束条件。

二、约束

约束(Constraint)是自动保持数据完整性和一致性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。在执行SQL语句期间,用户可以指名约束是启用还是禁用,但不论约束是否启用,约束始终存在于数据字典中。数据库中主要包括以下五种约束:惟一性约束(Unique Constraint)、检查约束(Check Constraint)和默认约束(Default Constraint)、主键约束(Primary Key Constraint)、外键约束(Foreign Key Constraint)。

1.惟一性约束(Unique Constraint)

惟一性约束指定一个或多个列的组合值具有惟一性,确保不会错误地添加重复记录,且一张表中可以定义多个惟一性约束。

2.检查约束(Check Constraint)

检查约束对输入列或整个表中的值设置检查条件,以限制输入值的范围,保证数据的域完整性。在检查约束中,可以根据需要设置任何约束条件,只有数据满足约束条件的情况下,才能进行插入和更新操作。

3.默认约束(Default Constraint)

默认约束用于定义列的默认值。当向表中插入数据时,如果没有指定该列的值,系统就会用设定的默认值作为该列的值。

4.空值/非空值约束(NULL/NOT NULL)

在字段定义时指定NULL,表示该列允许存在NULL。如果在插入数据时没有输入该列的值,那么系统自动在该列上添加NULL。在字段定义时指定NOT NULL,表示该列不允许存在NULL。 那么在插入数据时没有输入该列的值,则系统就会提示错误。

5.主键约束(Primary Key Constraint)

主键约束指定表的一列或几列的组合值在表中具有惟一性,即能惟一地确定每一行记录。每个表中只能有一个主键,且主键值不能为NULL。

6.外键约束(Foreign Key Constraint)

外键约束定义了表之间的关系,提供单个字段或者多个字段的参照完整性。主键和外键的数据类型必须完全一致。

三、删除表

在一些情况下,可能会发现有的表已经不再需要使用了,就可以删除这些表。在SQL中提供了删除表的语句,其基本语法格式如下:

DROP TABLE 表名该命令会删除表中的所有内容,包括表的定义、数据、索引、触发器和约束等。

在删除表时,应注意以下几点

不允许删除系统表。

不允许删除被另一个表的REFERENCES子句参照的表。

DROP TABLE语句具有不可更改性,错误使用将会引发灾难性的后果。因此,使用DROP TABLE语句要慎重。

四、修改表

在SQL中提供了ALTER TABLE语句,可以在保留表中原有数据的基础上对表结构进行修改,包括添加列、修改列、删除列、添加约束、禁用约束和删除约束等。

(1)添加列

向表中添加新的列,需要指定列的名称和列的数据类型,同时可以定义相应的约束条件。在SQL中,可以使用ALTER TABLE语句向表中添加新的列。其基本语法格式为:

ALTER TABLE

ADD

(2)修改列

在修改表中已有的列的时候,不仅可以修改列的数据类型,还可以修改该列具有的各种约束条件。

修改已有的列时,应注意以下几点:

当列中有数据时,只能把数据的长度从短向长修改。

新的数据类型不能和列中已有数据相冲突。

当列中没有数据时,可以把数据的长度从长向短修改,也可以根据需要选择新的数据类型。

在SQL中,可以使用ALTER TABLE语句修改表中已有的列。其基本语法格式为:

ALTER TABLE

ALTER COLUMN

(3)删除列

在SQL中,可以使用ALTER TABLE语句删除表中已有的列。其基本语法格式为:

ALTER TABLE

DROP COLUMN

从表中删除已有的列会导致数据丢失,最好不要轻易删除表中已有的列。在删除列时,必须先删除与该列有关的所有约束,否则该列不能被删除。

(4)添加约束

在SQL中,可以使用ALTER TABLE语句向表中添加约束。其基本语法格式为:

ALTER TABLE

ADD CONSTRAINT

(5)禁用约束

在通常情况下,约束创建之后就一直起作用,但是约束的存在会影响插入和更新数据的效率,有时可以根据实际情况禁用某些约束。禁用的约束可以激活,激活后依然可以使用。在SQL中,可以使用ALTER TABLE语句禁用约束。其基本语法格式为:

ALTER TABLE

DISABLE CONSTRAINT

(6)删除约束

如果不再需要使用某些约束,可以删除这些约束。约束被删除后在表中完全消失,不可以再使用。在SQL中,可以使用ALTER TABLE语句删除约束。其基本语法格式为:

ALTER TABLE

DROP CONSTRAINT

参考文献:

[1] 陈洛资,陈昭平. 数据库系统及应用基础(第2版). 北京:清华大学出版社, 北京交通大学出版社,2005.

[2] 李代平. SQL server 2000实用宝典.北京:地质出版社,2001.

[3]徐人风.SQL Server 2000数据库及应用.北京:高等教育出版社,2004.[4]李调阳.SQL Server 2000中文版标准教程.北京:海洋出版社,2005.

上一篇:树叶也治病(上) 下一篇:《爸爸去哪儿》:文化的权力隐喻及其传播