资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第5章创建和管理数据表章创建和管理数据表本章学习目标掌握掌握SQL Server 2005表表的基础知识的基础知识掌握表的创建、修改和删除掌握表的创建、修改和删除掌握记录的增加、修改和删除操作掌握记录的增加、修改和删除操作5.1 数据表的基本概念表的属性数据表数据表是数据库的主要对象是数据库的主要对象用来存储各种各样的信息用来存储各种各样的信息一个数据库表由一条或多条记录组成一个数据库表由一条或多条记录组成没有记录的表称为空表没有记录的表称为空表每个表通常都有一个主关键字(又称为主键),用于唯每个表通常都有一个主关键字(又称为主键),用于唯一地确定一条记录一地确定一条记录每个数据库最多可包含每个数据库最多可包含 20 亿个表亿个表每个表可包含每个表可包含 1,024 个字段个字段在同一个表中不允许有相同名称的字段在同一个表中不允许有相同名称的字段5.1.2 表的数据类型表的数据类型在新建数据表的特征:表中数据特性表中需要的列及每一列的类型、长度列是否允许为空是否需要在列上使用默认值、规则和约束等确定主键和外键及索引是否有标识列是否要用计算所得列规范的公式5.1.3 表的设计表的设计5.2 数据表的创建数据表的创建5.2.1 创建数据表创建数据表1.使用使用SQL Server管理控制台创建数据表管理控制台创建数据表在在SQL Server管理控制台的管理控制台的“对象资源管理器对象资源管理器”中,展开指定的服务器和数据库,打开想要创建中,展开指定的服务器和数据库,打开想要创建新表的数据库,右击新表的数据库,右击“表表”对象,并从弹出的快对象,并从弹出的快捷菜单中选择捷菜单中选择“新建表新建表”选项,在窗口右部会出选项,在窗口右部会出现新建数据表的对话框(表设计器)。现新建数据表的对话框(表设计器)。在一个数据库中数据表名必须是唯一的在一个数据库中数据表名必须是唯一的2. 使用Transact-SQL语句创建表CREATE TABLE table_name ( 列名列名1 数据类型数据类型 列级完整性约束,列级完整性约束,列名列名2 数据类型数据类型 列级完整性约束,列级完整性约束,列名列名n 数据类型数据类型 列级完整性约束,列级完整性约束,表级完整性约束,表级完整性约束, )参数说明:参数说明: 、CREATE TABLE :创建表的语法关键词。:创建表的语法关键词。 、table_name :用户自定义的表名。:用户自定义的表名。 、 NULL | NOT NULL :允许字段为空或者不为空,默认:允许字段为空或者不为空,默认为空。为空。 、 PRIMARY KEY | UNIQUE :字段设置为主键或者字段:字段设置为主键或者字段值惟一。值惟一。 、 DEFAULT:如果在插入过程中没有显式地提供值,则指如果在插入过程中没有显式地提供值,则指定为列提供的值。定为列提供的值。 、 ASC|DESC:指定加入到表约束中的一列或多列的排序指定加入到表约束中的一列或多列的排序顺序。默认值为顺序。默认值为ASC。例:在数据库例:在数据库STUDENT中创建一个学生基本中创建一个学生基本信息表(名为信息表(名为t_student)。)。 Create table t_student ( s_number char(10) not null, s_name char(8), sex char(2) default 男男, birthday datetime ,)例:用例:用SQL 语句创建语句创建student_info表。表。Create table student_info( ID char(12) not null primary key, Name varchar(20) not null, Sex char(2) not null, Born_date datetime not null, Class varchar(20), Address varchar(50))在在SQL Server 2005中主要可以使用以中主要可以使用以下几种约束:下几种约束:非空约束(非空约束(NOT NULL constraint)主键约束(主键约束(primary key constraint)唯一性约束(唯一性约束(unique constraint)默认约束(默认约束(DEFAULT constraint)检查约束(检查约束(check constraint)外键约束(外键约束(foreign key constraint) 补充:数据完整性补充:数据完整性数据完整性分类数据完整性分类数据完整性是数据完整性是用来确保数据库中的数据的正确性和可靠性用来确保数据库中的数据的正确性和可靠性实体完整性实体完整性n实体完整性将行定义为特定表的惟一实体实体完整性将行定义为特定表的惟一实体n实体完整性强制表的标识符列或主键的完整性实体完整性强制表的标识符列或主键的完整性n通过索引、通过索引、UNIQUEUNIQUE约束、约束、PRIMARY KEYPRIMARY KEY约束或约束或IDENTITYIDENTITY属性属性来实现实体的完整性的一些特点来实现实体的完整性的一些特点域完整性域完整性n要求表中指定的列的数据具有正确的数据类型要求表中指定的列的数据具有正确的数据类型n格式格式n有效的数据范围。有效的数据范围。限制类型,通过数据类型来限制限制类型,通过数据类型来限制格式,通过格式,通过CHECK CHECK 约束和默认值来限制。约束和默认值来限制。 参照完整性参照完整性是指两个表的主关键字和外关键字的数据应相互一致他确保了由主关键字的表中对应其他表中对应其他表的外关键字的行存在保证了表之间的数据的一致性防止了数据丢失或无意义的数据在数据库中的扩散参照完整性的作用表现在如下几个方面: 禁止在从表中插入包含主表中不存在的关键字 的数据行。 禁止删除在从表中的有对应记录的主表记录。 用户自定义完整性用户自定义完整性 用户自己定义一些特殊的约束条件用来反映某一具体应用所涉及的数据必须满足的语义要求也可以说是一种强制数据定义。约束可以分为表级约束和列级约束两种:约束可以分为表级约束和列级约束两种:列级约束列级约束列级约束是行定义的一部分列级约束是行定义的一部分只能够应用在一列上。只能够应用在一列上。表级约束表级约束表级约束的定义独立于列的定义表级约束的定义独立于列的定义可以应用在一个表中的多列上。可以应用在一个表中的多列上。1、非空约束空值(或空值(或NULL)空值不同于零(0)、空白或长度为零的字符串(如“”)出现NULL通常表示值未知或未定义列的为空性决定表中的行是否可为该列包含空值。2、主键约束、主键约束主键约束:主键约束:主键能够唯一地确定表中的每一条记录主键不能取空值主键约束可以保证实体的完整性主键约束是最重要的一种约束。3、唯一性约束唯一性约束用于指定一个或多个列的组合值具有唯一性约束用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值。唯一性,以防止在列中输入重复的值。4、检查约束、检查约束检查约束对输入列或者整个表中的值设置检查条检查约束对输入列或者整个表中的值设置检查条件,以限制输入值,保证数据库数据的完整性。件,以限制输入值,保证数据库数据的完整性。 5、默认约束默认约束指定在插入操作中如果没有提供输默认约束指定在插入操作中如果没有提供输入值时,则系统自动指定值。入值时,则系统自动指定值。 6、外键约束、外键约束外键约束主要用来维护两个表之间数据的一致性,外键约束主要用来维护两个表之间数据的一致性,实现数据表之间的参照完整性。实现数据表之间的参照完整性。 查看数据表数据表保存在数据库中,可以随时查看数数据表保存在数据库中,可以随时查看数据表的有关信息。比如数据表属性、数据据表的有关信息。比如数据表属性、数据表结构、表中的记录以及数据表与其他数表结构、表中的记录以及数据表与其他数据库对象之间的依赖关系等。据库对象之间的依赖关系等。1. 在在SQL Server管理控制台中查看数据表管理控制台中查看数据表2.利用T-SQL查看表的属性系统存储过程系统存储过程sp_help可以可以查看表的定义查看表的定义其语法如下:其语法如下:sp_help objname=namesp_help存储过程只用于当前的数据库,其中存储过程只用于当前的数据库,其中objname=name子句用于指定对象的名称。子句用于指定对象的名称。如果不指定对象名称,如果不指定对象名称,sp_help存储过程就会列存储过程就会列出当前数据库中的所有对象名称、对象的所有者出当前数据库中的所有对象名称、对象的所有者和对象的类型。和对象的类型。5.3.2 修改数据表当数据表的结构创建完成后,用户还可以根据实际需要随当数据表的结构创建完成后,用户还可以根据实际需要随时更改表结构。时更改表结构。用户可以增加、删除和修改字段用户可以增加、删除和修改字段更改数据表名称等更改数据表名称等 1、利用SQL Server管理控制台修改表 增加、删除和修改字段在在SQL Server管理控制台中管理控制台中打开指定的服务器中要修改表的数据库,用右键单击要打开指定的服务器中要修改表的数据库,用右键单击要进行修改的表,从弹出的快捷菜单中选择进行修改的表,从弹出的快捷菜单中选择“修改修改”选项。选项。则会出现显示已有的表结构的窗口。在该对话框中,可则会出现显示已有的表结构的窗口。在该对话框中,可以通过鼠标操作完成增加、删除和修改字段的操作。以通过鼠标操作完成增加、删除和修改字段的操作。2、使用使用ALTER TABLE语句修改表结构语句修改表结构利用利用Transact-SQL语言中的语言中的alter table命令增加、删命令增加、删除和修改字段。除和修改字段。(1)语法:)语法: Alter table 表的名称表的名称 ALTER COLUMN 列名列名 列定义列定义| ADD 列名列名1 类型类型 约束约束 | DROP 列名列名 ,n 例:向表例:向表t_student添加籍贯字段添加籍贯字段 ALTER TABLE t_student ADD jiguan char(8)例:将上例中籍贯字段的数据类型改为例:将上例中籍贯字段的数据类型改为char(4) ALTER TABLE t_student ALTER COLUMN jiguan char(4)例:删除表例:删除表student_info中的籍贯字段中的籍贯字段 ALTER TABLE t_student DROP COLUMN jiguan 3、修改表中记录修改表中记录(1)使用)使用SSMS修改表修改表在在SSMS中,打开指定的数据库并展开中,打开指定的数据库并展开“表表”对象,右击要操作的数对象,右击要操作的数据表,并从弹出的快捷菜单中选择据表,并从弹出的快捷菜单中选择“打开表打开表”选项,就会看到数据表选项,就会看到数据表数据显示结果窗口数据显示结果窗口将光标定位到最后一条记录后面,输入新的记录就可以完成插入将光标定位到最后一条记录后面,输入新的记录就可以完成插入操作操作将光标定位到某条记录,改变某个数据的值就可以完成更新操作将光标定位到某条记录,改变某个数据的值就可以完成更新操作右击某条记录,从弹出的快捷菜单中选择右击某条记录,从弹出的快捷菜单中选择“删除删除”选项就可以完选项就可以完成记录的删除操作成记录的删除操作(2 2) 使用使用T-SQLT-SQL语句修改表语句修改表UPDATEUPDATE语句用于修改数据库表中特定记录或者字语句用于修改数据库表中特定记录或者字段的数据段的数据语法如下:语法如下:UPDATE UPDATE 表名表名SET SET 列名列名1=1=表达式表达式|DEFAULT|NULL|DEFAULT|NULL, .列名列名n=n=表达式表达式|DEFAULT|NULL |DEFAULT|NULL WHERE WHERE 逻辑表达式逻辑表达式 例:例:一个带有一个带有WHERE条件的修改语句。条件的修改语句。程序清单如下:程序清单如下:USE STUDENTGOUPDATE T_STUDENTSET S_NUMBER = G9823117, POLITY = 党员党员 WHERE S_NAME = 张宇天张宇天例例:一个简单的修改语句。一个简单的修改语句。说明:如果没有说明:如果没有WHERE子句,则子句,则UPDATE将会修改表中将会修改表中的每一行数据。的每一行数据。程序清单如下:程序清单如下:USE STUDENTGOUPDATE T_STUDENTSET POLITY = 党员党员说明:如果没有说明:如果没有WHERE子句,则子句,则UPDATE将会修改表中将会修改表中的每一行数据。的每一行数据。5.4 删除数据表1. 使用使用SSMS删除数据表删除数据表在在SSMS中,展开指定的数据库,并展开其中的中,展开指定的数据库,并展开其中的“表表”对象,右击要删除的数据表,从弹出的快对象,右击要删除的数据表,从弹出的快捷菜单中选择捷菜单中选择“删除删除”选项或按下选项或按下“DELETE”键键删除某个数据表之前,应该首先查看它与其他数删除某个数据表之前,应该首先查看它与其他数据库对象之间是否存在依赖关系。单击据库对象之间是否存在依赖关系。单击“显示依显示依赖关系赖关系”按钮,会出现按钮,会出现“依赖关系依赖关系”对话框对话框2、使用T-SQL语言删除数据表可以利用可以利用Transact-SQL语言中的语言中的DROP TABLE语句删除一个或多个数据表。语句删除一个或多个数据表。语法如下:语法如下:DROP TABLE 表名表名 ,.n例:删除例:删除STUDENT数据库中的表数据库中的表t_student1和和t_student2。3. 删除记录 (1)使用)使用SSMS删除记录删除记录 (2)使用)使用DELETE语句删除记录语句删除记录语法:语法:DELETE FROM 表名表名 WHERE 逻辑表达式逻辑表达式 例:一个简单的删除语句例:一个简单的删除语句USE STUDENTGODELETE FROM T_STUDENT1WHERE S_NAME = 王华王华例:一个没有例:一个没有WHERE条件的删除语句。条件的删除语句。USE STUDENTGODELETE FROM T_STUDENT1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号