第5章数据表管理.ppt
《第5章数据表管理.ppt》由会员分享,可在线阅读,更多相关《第5章数据表管理.ppt(58页珍藏版)》请在冰豆网上搜索。
第第5章章SQLServer数据表的管理数据表的管理本章内容5.1数据表的创建和管理数据表的创建和管理5.2表数据的管理表数据的管理5.3数据完整性管理数据完整性管理5.1数据表的创建和管理5.1.1使用企业管理创建数据表使用企业管理创建数据表5.1.2使用使用Transact-SQL语言创建数据表语言创建数据表步骤:
步骤:
明确在针对哪个数据库操作。
明确在针对哪个数据库操作。
明确在针对哪个数据库操作。
明确在针对哪个数据库操作。
对该数据库应如何规划,设定几个数据表对该数据库应如何规划,设定几个数据表对该数据库应如何规划,设定几个数据表对该数据库应如何规划,设定几个数据表每个数据表各存储什么信息?
每个数据表各存储什么信息?
每个数据表各存储什么信息?
每个数据表各存储什么信息?
表中需要设置哪些字段?
表中需要设置哪些字段?
表中需要设置哪些字段?
表中需要设置哪些字段?
字段的名字及数据类型?
字段的名字及数据类型?
字段的名字及数据类型?
字段的名字及数据类型?
哪些字段确定为主键?
哪些字段确定为主键?
哪些字段确定为主键?
哪些字段确定为主键?
哪些字段不可以为空?
哪些字段不可以为空?
哪些字段不可以为空?
哪些字段不可以为空?
是否使用约束或索引?
在何处用?
是否使用约束或索引?
在何处用?
是否使用约束或索引?
在何处用?
是否使用约束或索引?
在何处用?
5.1数据表的创建和管理使用查询分析器在数据库使用查询分析器在数据库使用查询分析器在数据库使用查询分析器在数据库Student_dbStudent_db中创建中创建中创建中创建StudentStudent学生信息表,要学生信息表,要学生信息表,要学生信息表,要求包含求包含求包含求包含S_NOS_NO(学号)、(学号)、(学号)、(学号)、NAMENAME(姓名)、(姓名)、(姓名)、(姓名)、AGEAGE(年龄)、(年龄)、(年龄)、(年龄)、SEXSEX(性别)(性别)(性别)(性别)信息,其中学号不能为空。
信息,其中学号不能为空。
信息,其中学号不能为空。
信息,其中学号不能为空。
(11)启动)启动)启动)启动SQLServerSQLServer服务器,运行查询分析器,并连接到数据库。
服务器,运行查询分析器,并连接到数据库。
服务器,运行查询分析器,并连接到数据库。
服务器,运行查询分析器,并连接到数据库。
(22)在查询窗口中输入创建表的语句。
)在查询窗口中输入创建表的语句。
)在查询窗口中输入创建表的语句。
)在查询窗口中输入创建表的语句。
创建数据表创建数据表创建数据表创建数据表StudentStudent的语句如下:
的语句如下:
的语句如下:
的语句如下:
(33)单击工具栏上的)单击工具栏上的)单击工具栏上的)单击工具栏上的“分析查询分析查询分析查询分析查询”按钮,若结果窗口无错误信息,再按钮,若结果窗口无错误信息,再按钮,若结果窗口无错误信息,再按钮,若结果窗口无错误信息,再单击单击单击单击“执行查询执行查询执行查询执行查询”按钮,将返回按钮,将返回按钮,将返回按钮,将返回“命令已成功完成命令已成功完成命令已成功完成命令已成功完成”的信息。
的信息。
的信息。
的信息。
5.1数据表的创建和管理5.1.3使用企业管理器对数据表进行管理使用企业管理器对数据表进行管理5.1.4使用使用Transact-SQL语言对数据表进行语言对数据表进行管理管理5.1数据表的创建和管理5.1.3使用企业管理器对数据表进行管理使用企业管理器对数据表进行管理使用企业管理器查看数据表的相关设置使用企业管理器查看数据表的相关设置使用企业管理器查看数据表的相关设置使用企业管理器查看数据表的相关设置使用企业管理器更改数据表名称使用企业管理器更改数据表名称使用企业管理器更改数据表名称使用企业管理器更改数据表名称使用企业管理器删除数据表使用企业管理器删除数据表使用企业管理器删除数据表使用企业管理器删除数据表5.1数据表的创建和管理5.1.4使用使用T-SQL语言对数据表进行重命名语言对数据表进行重命名Execsp_renameold_table_name,new_table_name如将图书库中的如将图书库中的“读者读者”表更名为表更名为“学生学生”表表Execsp_name读者读者,学生学生5.1数据表的创建和管理5.1.55.1.5使用使用使用使用T-SQLT-SQL语言对数据表字段进行管理语言对数据表字段进行管理语言对数据表字段进行管理语言对数据表字段进行管理语法格式:
语法格式:
语法格式:
语法格式:
ALTERTABLEALTERTABLEtabletableALTERCOLUMNALTERCOLUMNcolumn_namecolumn_name|ADDADDcolumn_namedata_basecolumn_namedata_base|DROPCOLUMNDROPCOLUMNcolumn_namecolumn_name|参数说明:
参数说明:
参数说明:
参数说明:
(11)tabletable:
要更改的数据表的名称是要更改的表的:
要更改的数据表的名称是要更改的表的:
要更改的数据表的名称是要更改的表的:
要更改的数据表的名称是要更改的表的名称。
如果表不在当前数据库中或者不属于当前用户名称。
如果表不在当前数据库中或者不属于当前用户名称。
如果表不在当前数据库中或者不属于当前用户名称。
如果表不在当前数据库中或者不属于当前用户所拥有,可以显式指定数据库和所有者。
所拥有,可以显式指定数据库和所有者。
所拥有,可以显式指定数据库和所有者。
所拥有,可以显式指定数据库和所有者。
(22)ALTER/ADD/DROPCOLUMNALTER/ADD/DROPCOLUMN:
指定要更改的:
指定要更改的:
指定要更改的:
指定要更改的列。
列。
列。
列。
(33)column_namecolumn_name:
要更改、添加的列的名称。
:
要更改、添加的列的名称。
:
要更改、添加的列的名称。
:
要更改、添加的列的名称。
修改表字段的数据类型修改表字段的数据类型AlTERTABLEAlTERTABLEALTERCOLUMNALTERCOLUMN注意:
数据类型为注意:
数据类型为注意:
数据类型为注意:
数据类型为texttext、imageimage、ntextntext的列,或者属于的列,或者属于的列,或者属于的列,或者属于primarykeyprimarykey的列不能修改。
新的数据类型应与原数据类型兼容的列不能修改。
新的数据类型应与原数据类型兼容的列不能修改。
新的数据类型应与原数据类型兼容的列不能修改。
新的数据类型应与原数据类型兼容举例:
举例:
举例:
举例:
11、修改、修改、修改、修改studentstudent库中库中库中库中scsc表里的表里的表里的表里的gradegrade属性列的数据类型,由原来的属性列的数据类型,由原来的属性列的数据类型,由原来的属性列的数据类型,由原来的intint改为改为改为改为smallintsmallintusestudentusestudentALTERTABLEALTERTABLEscscaltercolumnaltercolumngradeSMALLINTgradeSMALLINT或者:
或者:
或者:
或者:
ALTERTABLEALTERTABLEstudent.scstudent.scaltercolumnaltercolumngradeSMALLINTgradeSMALLINT2、在”学生”表中,修改“住址”一列,数据类型为varchar(50)ALTERTABLEALTERTABLE学生学生学生学生altercolumnaltercolumn住址住址住址住址varchar(50)知识回顾建立表结构建立表结构Createtable(字段名字段名数据类型数据类型约束约束,.,)修改表名字修改表名字Execsp_renameold_table_name,new_table_name修改字段数据类型修改字段数据类型AlTERTABLEALTERCOLUMN更改字段名更改字段名Execsp_renameExecsp_rename表名表名表名表名.,column,column举例:
举例:
举例:
举例:
33、修改读者表中字段,把、修改读者表中字段,把、修改读者表中字段,把、修改读者表中字段,把“备注备注备注备注”字段名更名为字段名更名为字段名更名为字段名更名为“附言附言附言附言”UseUse图书图书图书图书execsp_renameexecsp_rename读者读者读者读者.备注备注备注备注,附言附言附言附言,column,column增加表字段增加表字段(一定要包含字段名和数据类型,也可增加一些相应约束(一定要包含字段名和数据类型,也可增加一些相应约束(一定要包含字段名和数据类型,也可增加一些相应约束(一定要包含字段名和数据类型,也可增加一些相应约束条件)条件)条件)条件)AlTERTABLEAlTERTABLEADDADD注意:
约束条件不能有注意:
约束条件不能有注意:
约束条件不能有注意:
约束条件不能有noynull,primarykeynoynull,primarykey等。
等。
等。
等。
举例:
举例:
举例:
举例:
22、在、在、在、在studentstudent库中库中库中库中cousecouse表里表里表里表里,新增一列新增一列新增一列新增一列id_xuankeid_xuanke,数,数,数,数据类型为据类型为据类型为据类型为55个字符,而且取值唯一个字符,而且取值唯一个字符,而且取值唯一个字符,而且取值唯一ALTERTABLEALTERTABLEstudent.cousestudent.couseaddaddid_xuankechar(5)uniqueid_xuankechar(5)unique删除表字段删除表字段AlTERTABLEdropcolumn举例:
举例:
3、在、在student库中库中couse表里表里,删除列删除列id_xuankeALTERTABLEALTERTABLEstudent.cousestudent.cousedropdropcolumncolumnid_xuankeid_xuanke练习练习:
在读者表中,增加一个年龄字段,在读者表中,增加一个年龄字段,然后删除地址字段,并修改备注字段的数然后删除地址字段,并修改备注字段的数据类型为据类型为varchar(200).Altertable图书图书.读者读者add年龄年龄intAltertable图书图书.读者读者dropcolumn地地址址Altertable图书图书.读者读者altercolumn备备注注varchar(200)5.1数据表的创建和管理5.1.6删除数据表可使用删除数据表可使用DROPTABLE语语句句语法格式:
语法格式:
DROPTABLEtable_name参数说明:
参数说明:
table:
要删除的数据表的名称。
:
要删除的数据表的名称。
例:
例:
删除当前数据库中的Student_1学生信息表。
删除该表的语句如下:
DropTABLEStudent_1注意:
注意:
(1)DROPTABLE不能用于删除由FOREIGNKEY约束引用的表。
必须先删除引用的FOREIGNKEY约束或引用的表。
(2)在系统表上不能使用DROPTABLE语句。
(3)数据、表上的索引都删除。
表上的视图往往仍然保留,但无法引用实例例:
例:
在同一语句中指定多个表对它们进行删除。
假设有一在同一语句中指定多个表对它们进行删除。
假设有一stu数据库,此数据库,此数据库中存在数据库中存在book表和表和temp2表表,同时删除这两张表的语句如下:
同