项目4学生成绩管理数据库数据表的创建和维护_第1页
项目4学生成绩管理数据库数据表的创建和维护_第2页
项目4学生成绩管理数据库数据表的创建和维护_第3页
项目4学生成绩管理数据库数据表的创建和维护_第4页
项目4学生成绩管理数据库数据表的创建和维护_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目项目4 学生成绩管理数据库数据表学生成绩管理数据库数据表的创建和维护的创建和维护 1. 能利用能利用SQL SERVER Management Studio进行数据表的创建、进行数据表的创建、修改、删除及数据库完整性约束的设置。修改、删除及数据库完整性约束的设置。 2. 熟悉熟悉SQL语句,能利用语句,能利用Transact-SQL语句进行数据表的创建、语句进行数据表的创建、修改、删除及数据库完整性约束的设置。修改、删除及数据库完整性约束的设置。 3针对表的建立及它们之间的关系,进一步深化对数据库设计理针对表的建立及它们之间的关系,进一步深化对数据库设计理论的理解与运用的能力。论的理解与运

2、用的能力。能力目标能力目标项项目目描描述述假如把数据库比作一座楼房,则数据表是真正存放数据的房间。数据表是数据库的基本构成单元,它用来保存用户的各种数据。本项目的学习内容主要是:通过学生成绩数据库中数据表的创建和管理,掌握数据表的概念、创建、管理和查看的方法;然后通过在已创建的数据表中插入、删除、修改数据,学会使用SSMS和Transact-SQL语句插入、删除、修改表数据;最后通过课堂实训、课外实训来进一步加强数据库数据表的创建和维护的实操能力。学学习习任任务务任务4.1:学生成绩管理数据库数据表的创建任务4.2:学生成绩管理数据库数据表的查看任务4.3:学生成绩管理数据库数据表的管理任务4

3、.4:学生成绩管理数据库中表数据的插入、修改及删除项目描述及学习任务项目描述及学习任务4.1 4.1 学生成绩管理数据库数据表的创建学生成绩管理数据库数据表的创建在创建用户数据库后,接下来的重要工作就是创建和管理数据表。那么,什么在创建用户数据库后,接下来的重要工作就是创建和管理数据表。那么,什么是数据表呢?什么是记录、字段呢?数据表如何创建呢是数据表呢?什么是记录、字段呢?数据表如何创建呢? ?本学习任务就是通过学本学习任务就是通过学生成绩管理数据库数据表的创建来学习如何在生成绩管理数据库数据表的创建来学习如何在SSMSSSMS和和Transact-SQLTransact-SQL命令创建数命

4、令创建数据表的相关知识。据表的相关知识。任务描述任务描述 4.1.1 表的概述表的概述表是关系模型中表示实体的方式、用来组织和存储数据、具有行列结构的数据表是关系模型中表示实体的方式、用来组织和存储数据、具有行列结构的数据对象。如表对象。如表4-14-1所示。所示。在在SQL Server中,数据表分为永久数据表和临时数据表两种,永久数中,数据表分为永久数据表和临时数据表两种,永久数据表在创建后一直存储在数据库文件中,直至用户删除为止。而临时据表在创建后一直存储在数据库文件中,直至用户删除为止。而临时数据表在用户退出或系统修复时被自动删除。数据表在用户退出或系统修复时被自动删除。学号学号姓名姓

5、名性别性别专业专业出生年月出生年月家庭地址家庭地址联系方式联系方式总学分总学分00110001李倩倩李倩倩女女电子商务电子商务06/07/93杭州曙光路杭州曙光路7号号135789412586000112201王铁树王铁树男男计算机应用计算机应用08/12/93宁波中山路宁波中山路9号号134057213575700110002张大成张大成男男电子商务电子商务12/08/92温州天地路温州天地路12号号132057854126100112202赵明明赵明明男男计算机应用计算机应用11/08/93杭州莫干山路杭州莫干山路2号号158784512786200110003周芳芳周芳芳妇妇电子商务电子

6、商务05/12/93宁波大明路宁波大明路9号号13745891245604.1.1 表的概述表的概述元组元组(记录记录)属性属性(字段字段)表表4-1 学生基本信息表学生基本信息表表是由行和列构成,表是由行和列构成,行被称为记录,是组织数据的单位,每行代表唯一的一条行被称为记录,是组织数据的单位,每行代表唯一的一条记录;列被称为字段,每一列表示记录的一个属性记录;列被称为字段,每一列表示记录的一个属性。在表。在表4-1中,每一行代表一中,每一行代表一个学生,各列分别表示学生的详细资料,如学号,姓名,性别,专业,出生年月,家个学生,各列分别表示学生的详细资料,如学号,姓名,性别,专业,出生年月,

7、家庭地址,联系电话、总学分等。庭地址,联系电话、总学分等。在表中,行的顺序可以是任意的,列的顺序也可以是任意的,对于每一个表,在表中,行的顺序可以是任意的,列的顺序也可以是任意的,对于每一个表,最多可以允许用户定义最多可以允许用户定义10241024列。列。在同一个表中,列名必须是唯一的,即,不能有在同一个表中,列名必须是唯一的,即,不能有名称相同的两个或两个以上的列同时存在于一个表中,同时在定义列时还需为每一个名称相同的两个或两个以上的列同时存在于一个表中,同时在定义列时还需为每一个列指定一种数据类型。但是,在同一个数据库的不同表中,可以使用相同的列名。列指定一种数据类型。但是,在同一个数据

8、库的不同表中,可以使用相同的列名。4.1.1 表的概述表的概述表表4-2 学生表:用来存储学生的基本信息学生表:用来存储学生的基本信息字段名称字段名称 数据类型数据类型 长度长度 是否为空是否为空说明说明学号学号 CharChar9 9 否否主键主键姓名姓名CharChar8 8否否性别性别BitBit是是0 0代表男生,代表男生,1 1代表女生,默认为代表女生,默认为0 0专业专业VarcharVarchar5050否否出生年月出生年月SmalldatetimeSmalldatetime是是家庭地址家庭地址VarcharVarchar100100是是联系电话联系电话CharChar1212是

9、是总学分总学分FloatFloat是是默认为默认为04.1.1 表的概述表的概述表表4-3课程表:用来存储课程信息课程表:用来存储课程信息字段名称字段名称 数据类型数据类型 长度长度 是否为空是否为空说明说明课程号课程号Char9否否主键主键课名课名Varchar50否否学时学时int否否=0学分学分Float否否=0备注备注Text4.1.1 表的概述表的概述表表4-4选课表:用来存储学生的选课情况及成绩选课表:用来存储学生的选课情况及成绩字段名称字段名称 数据类型数据类型 长度长度 是否为空是否为空说明说明学号学号Char9否否联合主键,外键,参照学生表联合主键,外键,参照学生表课程号课程

10、号Char9否否联合主键,外键,参照课程表联合主键,外键,参照课程表成绩成绩Float是是成绩成绩=0 并且并且 成绩成绩=0),=0),学分学分 int Not Null check (int Not Null check (学分学分=0),=0),备注备注 text,text,CONSTRAINT PK_kh primary key(CONSTRAINT PK_kh primary key(课程号课程号) ) ) 说明:说明: 学时学时 int Not Null int Not Null constraint Ch_1 check (constraint Ch_1 check (学时学时=

11、0)=0),说明对学时进行检查约束,说明对学时进行检查约束,约束名为约束名为Ch_1Ch_1;同理,学分也是一;同理,学分也是一样进行检查约束,只不过约束名由样进行检查约束,只不过约束名由系统默认。请注意系统默认。请注意( (学分学分=0)=0)是需是需要加括号的。要加括号的。 CONSTRAINT PK_kh primary CONSTRAINT PK_kh primary key(key(课程号课程号) )是设置课程号为主键,是设置课程号为主键,从【例从【例4.74.7】及本例中可以得知,】及本例中可以得知,主键可以定义在列级上,如【例主键可以定义在列级上,如【例4.74.7】,也可以定义

12、在表级上,如】,也可以定义在表级上,如本例。同理,其他约束也是如此。本例。同理,其他约束也是如此。4.1.3用用Transact-SQL语句创建学生成绩管理数据库数据表语句创建学生成绩管理数据库数据表【例【例4.94.9】用】用Transact -SQLTransact -SQL语句完成表语句完成表4-4-4 4选课表(用来存储学生的选课情况及成选课表(用来存储学生的选课情况及成绩)的创建。绩)的创建。Use Use 学生成绩管理学生成绩管理GoGocreate table create table 选课表选课表( (学号学号 char(9) Not Null ,char(9) Not Nul

13、l ,课程号课程号 char(9) Not Null constraint char(9) Not Null constraint FK_1 foreign key references FK_1 foreign key references 课程表课程表( (课程号课程号),),成绩成绩 float Null,float Null,constraint ch_cj check(constraint ch_cj check(成绩成绩=0 and =0 and 成绩成绩=100),=100),constraint PK_xh1 primary key(constraint PK_xh1 prim

14、ary key(学号学号, ,课程号课程号),),constraint FK_2 foreign key(constraint FK_2 foreign key(学学号号)references )references 学生表学生表( (学号学号) ) )说明:说明: 课程号课程号 char(9) Not Null char(9) Not Null constraint FK_1 foreign key constraint FK_1 foreign key references references 课程表课程表( (课程号课程号) ),表,表示:外键约束名为示:外键约束名为FK_1FK_1,

15、选课表中,选课表中的课程号参照课程表中的课程号,的课程号参照课程表中的课程号,是定义在列上的。是定义在列上的。 constraint FK_2 foreign constraint FK_2 foreign key(key(学号学号)references )references 学生表学生表( (学学号号) ),表示外键约束名为,表示外键约束名为FK_2FK_2,选,选课表中的学号参照学生表中的学号,课表中的学号参照学生表中的学号,是定义在表级上的。是定义在表级上的。 constraint PK_xh1 primary constraint PK_xh1 primary key(key(学号学

16、号, ,课程号课程号) ),表示主键约束,表示主键约束名为名为PK_xh1PK_xh1,是学号与课程号的联,是学号与课程号的联合主键。注意,对复合约束,一定合主键。注意,对复合约束,一定要定义在表级上。要定义在表级上。4.1.3用用Transact-SQL语句创建学生成绩管理数据库数据表语句创建学生成绩管理数据库数据表【例例4.104.10】用用Transact -SQLTransact -SQL语句完成表语句完成表4-54-5教师表(用来存储教师基本信息)教师表(用来存储教师基本信息)的创建。的创建。Use Use 学生成绩管理学生成绩管理GoGocreate table create ta

17、ble 教师表教师表( ( 教师号教师号 char(6) Not Null, char(6) Not Null, 姓名姓名 char(8) Not Null,char(8) Not Null, 职称职称 char(8) Not Null,char(8) Not Null, 部门编号部门编号 Varchar(50) not Null,Varchar(50) not Null, 联系方式联系方式 char(12) null,char(12) null, primary key( primary key(教师号教师号) ) )4.1.3用用Transact-SQL语句创建学生成绩管理数据库数据表语句

18、创建学生成绩管理数据库数据表【例例4.114.11】用用Transact -SQLTransact -SQL语句完成表语句完成表4-64-6部门表(用来存储部门基本信息)部门表(用来存储部门基本信息)的创建。的创建。Use Use 学生成绩管理学生成绩管理GoGocreate table create table 部门表部门表( ( 部门编号部门编号 Varchar(50) Not Null primary key, Varchar(50) Not Null primary key, 部门名称部门名称 Varchar(50)Varchar(50) Not Null,Not Null, 部门地址

19、部门地址 Varchar(100)Varchar(100) NullNull) )4.1.3用用Transact-SQL语句创建学生成绩管理数据库数据表语句创建学生成绩管理数据库数据表【例例4.124.12】用用Transact -SQLTransact -SQL语句完成表语句完成表4-74-7授课表(用来存储教师授课的基本信授课表(用来存储教师授课的基本信息)的创建。息)的创建。Use Use 学生成绩管理学生成绩管理GoGocreate table create table 授课表授课表( (教师号教师号 char(6)char(6) Not Null foreign Not Null f

20、oreign key references key references 教师表教师表( (教师号教师号),),课程号课程号char(9) Not Nullchar(9) Not Null foreign foreign key references key references 课程表课程表( (课程号课程号),),开课时间开课时间 smalldatetime Null,smalldatetime Null,primary key(primary key(教师号教师号, ,课程号课程号) ) )说明:说明: 教师号教师号 char(6) Not Null char(6) Not Null f

21、oreign key references foreign key references 教师表教师表( (教师号教师号) ),表示对教师号有一个外,表示对教师号有一个外键约束,约束名由系统默认,授课键约束,约束名由系统默认,授课表中的教师号参照教师表中的教师表中的教师号参照教师表中的教师号。号。 课程号课程号 char(9) Not Null char(9) Not Null foreign key references foreign key references 课程表课程表( (课程号课程号) ), 表示课程号有一个外表示课程号有一个外键约束,约束名由系统默认,授课键约束,约束名由系统

22、默认,授课表中的课程号参照课程表中的课程表中的课程号参照课程表中的课程号。号。4.1.4 规则和约束规则和约束1. 1. 规则规则规则(规则(RULERULE):是一种数据库对象,它的作用与检查约束类似,用来限制输入):是一种数据库对象,它的作用与检查约束类似,用来限制输入值的取值范围。规则与值的取值范围。规则与CHECKCHECK相比较,相比较,CHECKCHECK约束比规则更简明,它可以在创建约束比规则更简明,它可以在创建表或修改表时指定,而规则需要单独创建。表或修改表时指定,而规则需要单独创建。使用规则的优点是:一个规则只需定义一次就可以被多次应用,即可以应用于使用规则的优点是:一个规则

23、只需定义一次就可以被多次应用,即可以应用于多个表或多个列。多个表或多个列。规则的使用包括规则的创建、绑定、解绑和删除。可以在查询编辑器中用规则的使用包括规则的创建、绑定、解绑和删除。可以在查询编辑器中用Transact -SQLTransact -SQL语句完成。语句完成。(1 1)创建规则)创建规则规则是一种数据库对象,在使用前必须被创建。创建规则的语法为:规则是一种数据库对象,在使用前必须被创建。创建规则的语法为:CREATE RULE CREATE RULE 规则名规则名 AS AS 条件表达式条件表达式(2 2)规则的绑定)规则的绑定创建好的规则,则要绑定到指定列上才有意义。绑定规则的

24、语法为:创建好的规则,则要绑定到指定列上才有意义。绑定规则的语法为:EXECUTE sp_bindrule EXECUTE sp_bindrule 规则名称规则名称, , 表名表名. .字段名字段名4.1.4 规则和约束规则和约束【例【例4.134.13】 创建一个规则创建一个规则rule_xbrule_xb,将它绑定到,将它绑定到“学生表学生表”的的“性别性别”字段,保证输入数据字段,保证输入数据只能为只能为“0”“0”或或“1”“1”。在查询编辑器中输入:在查询编辑器中输入:CREATE RULE rule_xb AS xb=0 or xb =1 - CREATE RULE rule_xb

25、 AS xb=0 or xb =1 - 建立规则名为建立规则名为rule_xbrule_xbGOGOsp_bindrule rule_xb, sp_bindrule rule_xb, 学生表学生表. .性别性别 - -将将rule_xbrule_xb规则绑定到学生表中的性别上规则绑定到学生表中的性别上说明:说明: CREATE RULE rule_xb AS xb= CREATE RULE rule_xb AS xb=男男 or xb = or xb =女女 ,说明建立了一个规则,规则名叫,说明建立了一个规则,规则名叫rule_xbrule_xb,这个规则的功能是限制跟它绑定的字段其值只能取,

26、这个规则的功能是限制跟它绑定的字段其值只能取“0”“0”或或“1”“1”。 sp_bindrule rule_xb, sp_bindrule rule_xb, 学生表学生表. .性别性别 ,表示规则,表示规则rule_xbrule_xb已跟已跟“学生表学生表”中的中的“性性别别”字段绑定了,这样,就使得在字段绑定了,这样,就使得在“学生表学生表”中的字段中的字段“性别性别”其值只能取其值只能取“0”“0”或或“1”“1”。当然,如果需要,规则当然,如果需要,规则rule_xbrule_xb还能跟学生成绩管理数据库中的其他表中的字段进行绑定。还能跟学生成绩管理数据库中的其他表中的字段进行绑定。执

27、行上述代码,则会显示执行上述代码,则会显示“已将规则绑定到表的列已将规则绑定到表的列”。4.1.4 规则和约束规则和约束(3 3)解除绑定)解除绑定如果字段已经不需要规则限制其值了,那么就要把已经绑定的规则去掉,这就是解除绑定的如果字段已经不需要规则限制其值了,那么就要把已经绑定的规则去掉,这就是解除绑定的规则。其语法为:规则。其语法为:EXECUTE sp_unbindrule EXECUTE sp_unbindrule 表名表名. .字段名字段名 【例例4.144.14】将刚才将刚才【例例4.134.13】的绑定解除。的绑定解除。sp_unbindrule sp_unbindrule 学生

28、表学生表. .性别性别 执行这个语句,则会出现执行这个语句,则会出现“已解除了表列与规则之间的绑定。已解除了表列与规则之间的绑定。”(4 4)删除规则)删除规则如果规则已经没有用了,就可以将其删除。在删除规则前,一定要先对规则进行解绑,当规如果规则已经没有用了,就可以将其删除。在删除规则前,一定要先对规则进行解绑,当规则已经不再作用于任何表或字段时,则可以删除规则。删除规则的语法格式为:则已经不再作用于任何表或字段时,则可以删除规则。删除规则的语法格式为:drop rule drop rule 规则名规则名像像【例例4.134.13】创建的规则创建的规则rule_xbrule_xb因为已经解除

29、了绑定,所以可以删除这个规则。因为已经解除了绑定,所以可以删除这个规则。【例例4.154.15】删除规则删除规则rule_xbrule_xbdrop rule rule_xbdrop rule rule_xb执行,即可。执行,即可。4.1.4 规则和约束规则和约束2. 2. 默认默认默认(默认(DEFAULTDEFAULT):也称默认值,是一种数据库对象,它与默认约束作用相似。即:表中的):也称默认值,是一种数据库对象,它与默认约束作用相似。即:表中的一列被绑定了默认对象,则当向表中输入记录时,没有为该列输入数据,系统会自动将默认一列被绑定了默认对象,则当向表中输入记录时,没有为该列输入数据,

30、系统会自动将默认值赋给该列。默认约束可以在创建表或修改表时指定,而默认则要单独创建。值赋给该列。默认约束可以在创建表或修改表时指定,而默认则要单独创建。使用默认的优点是:一个默认只需定义一次就可以被多次应用,即可以应用于多个表或多个使用默认的优点是:一个默认只需定义一次就可以被多次应用,即可以应用于多个表或多个列。列。默认对象的使用方法类似于规则,同样包括创建、绑定、解绑和删除。这些操作可以在查询默认对象的使用方法类似于规则,同样包括创建、绑定、解绑和删除。这些操作可以在查询编辑器中完成。编辑器中完成。4.1.4 规则和约束规则和约束(1 1)创建默认值)创建默认值在查询编辑器中,创建默认对象

31、的语法格式如下:在查询编辑器中,创建默认对象的语法格式如下:CREATE DEFAULT CREATE DEFAULT 默认值名默认值名 AS AS 常量表达式常量表达式说明:常量表达式可以包含常量表达式,可以包含常量、内置函数或数学表达式。说明:常量表达式可以包含常量表达式,可以包含常量、内置函数或数学表达式。(2 2)默认的绑定)默认的绑定创建好的默认,必须将其绑定到表的字段上才能产生作用。绑定默认的语法为:创建好的默认,必须将其绑定到表的字段上才能产生作用。绑定默认的语法为:EXECUTE sp_bindefault EXECUTE sp_bindefault 默认名称默认名称, , 表

32、名表名. .字段名字段名4.1.4 规则和约束规则和约束【例例4.164.16】 创建一个默认创建一个默认default_xfdefault_xf,将它绑定到,将它绑定到“课程表课程表”的的“学分学分”字段,使默认学字段,使默认学分为分为3 3。在查询编辑器中输入:在查询编辑器中输入:CREATE DEFAULT default_xf AS 3 - CREATE DEFAULT default_xf AS 3 - 建立默认建立默认GOGOsp_bindefault default_xf, sp_bindefault default_xf, 课程表课程表. .学分学分 - -将将default_

33、xfdefault_xf默认绑定到课程表默认绑定到课程表中的学分上中的学分上说明:说明: CREATE DEFAULT default_xf AS 3CREATE DEFAULT default_xf AS 3,表示创建了一个名为,表示创建了一个名为default_xfdefault_xf的默认值,其值的默认值,其值为为3 3。 sp_bindefault default_xf, sp_bindefault default_xf, 课程表课程表. .学分学分 ,表示将创建的默认,表示将创建的默认default_xfdefault_xf绑定到绑定到“课程表课程表”的的“学分学分”字段上,使得字段

34、上,使得“课程表课程表”中的中的“学分学分”字段其默认值为字段其默认值为3 3。当然,如。当然,如果需要,可以继续将默认值果需要,可以继续将默认值default_xfdefault_xf绑定到学生成绩管理数据库的其他表的字段上。绑定到学生成绩管理数据库的其他表的字段上。4.1.4 规则和约束规则和约束(3 3)解除绑定)解除绑定如果字段已经不需要默认值了,那么就可以把已经绑定的默认去掉,这就是解除默认。其语如果字段已经不需要默认值了,那么就可以把已经绑定的默认去掉,这就是解除默认。其语法为:法为:EXECUTE sp_ununbindefault EXECUTE sp_ununbindefau

35、lt 表名表名. .字段名字段名 【例【例4.174.17】将刚才【例】将刚才【例4.164.16】建立的默认绑定解除。】建立的默认绑定解除。sp_unbindefault sp_unbindefault 课程表课程表. .学分学分 执行这个语句,则会出现执行这个语句,则会出现“已解除了表列与默认之间的绑定。已解除了表列与默认之间的绑定。”(4 4)删除默认)删除默认如果默认值已经没有用了,就可以将其删除。在删除默认前,一定要先对默认进行解绑,当如果默认值已经没有用了,就可以将其删除。在删除默认前,一定要先对默认进行解绑,当默认已经不再作用于任何表或字段时,则可以删除默认。删除默认的语法格式为

36、:默认已经不再作用于任何表或字段时,则可以删除默认。删除默认的语法格式为:drop rule drop rule 默认名默认名由于【例由于【例4.174.17】已将默认】已将默认default_xfdefault_xf解除了绑定,所以可以删除这个默认。解除了绑定,所以可以删除这个默认。【例例4.184.18】删除默认删除默认default_xfdefault_xfdrop DEFAULT default_xfdrop DEFAULT default_xf执行,即可。执行,即可。4.2 4.2 学生成绩管理数据库数据表的查看学生成绩管理数据库数据表的查看一个表建立之后,要学会查看,以便于修改。本

37、学习任务主要学习在一个表建立之后,要学会查看,以便于修改。本学习任务主要学习在SSMSSSMS及及Transact-SQLTransact-SQL语句查看数据表的方法。语句查看数据表的方法。任务描述任务描述 4.2 学生成绩管理数据库数据表的查看学生成绩管理数据库数据表的查看1. 1. 在在SSMSSSMS中查看表结构中查看表结构【例例4.194.19】利用利用SSMSSSMS查看学生成绩管理数据库中查看学生成绩管理数据库中“学生表学生表”的属性、的属性、“学号学号”列的属性及学列的属性及学生表与其他表的依赖关系。生表与其他表的依赖关系。略略2. 2. 用用Transact -SQLTrans

38、act -SQL语句查看学生成绩管理数据表语句查看学生成绩管理数据表查看数据表属性格式:查看数据表属性格式:sp_help sp_help 表名表名 【例例4.204.20】利用利用Transact -SQLTransact -SQL命令查看学生成绩管理数据库中学生表的详细信息。命令查看学生成绩管理数据库中学生表的详细信息。在查询编辑器中输入:在查询编辑器中输入:USE USE 学生成绩管理学生成绩管理GOGOsp_help sp_help 学生表学生表执行命令,则显示执行命令,则显示“学生表学生表”的表结构的详细信息。的表结构的详细信息。4.34.3学生成绩管理数据库数据表的管理学生成绩管理

39、数据库数据表的管理数据表创建后,可根据需要对它进行修改和删除,修改的内容可以是列的属性,数据表创建后,可根据需要对它进行修改和删除,修改的内容可以是列的属性,如列名、数据类型、长度等,也可以添加列、删除列等,还可以删除表。本学如列名、数据类型、长度等,也可以添加列、删除列等,还可以删除表。本学习任务就是介绍如何在习任务就是介绍如何在SSMSSSMS及及Transact -SQLTransact -SQL命令管理数据表。命令管理数据表。任务描述任务描述 4.3.1 在在SSMS中管理数据表中管理数据表1. 1. 在在SSMSSSMS中修改数据表中修改数据表【例【例4.214.21】在】在SSMS

40、SSMS中修改学生成绩管理数据库中中修改学生成绩管理数据库中“学生表学生表”的学号,将其宽度定义为的学号,将其宽度定义为1010。略略2 2删除数据表删除数据表【例例4.224.22】在在SSMSSSMS中删除学生成绩管理数据库中中删除学生成绩管理数据库中“选课表选课表”。3. 3. 修改数据表名修改数据表名【例例4.234.23】在在SSMSSSMS中修改学生成绩管理数据库中中修改学生成绩管理数据库中“学生表学生表”为为“student1”student1”。4.3.2 用用Transact-SQL语句管理数据表语句管理数据表1 1 修改数据表基本语句格式修改数据表基本语句格式Alter T

41、able Alter Table 表名表名 Alter column Alter column 列名列名 新数据类型新数据类型 - -修改列属性修改列属性 Add Add 列名列名 数据类型数据类型 完整性约束完整性约束 - -添加列添加列 Drop column Drop column 列名列名 - -删除列删除列 Drop Drop 完整性约束名完整性约束名 - -删除约束删除约束说明:说明: Alter column Alter column 列名列名 新数据类型,表示修改列属性;新数据类型,表示修改列属性; Add Add 列名列名 数据类型数据类型 完整性约束完整性约束 ,表示增添一

42、列;,表示增添一列; Drop column Drop column 列名,表示删除一列;列名,表示删除一列; Drop Drop 完整性约束名,表示删除约束。完整性约束名,表示删除约束。【例例4.244.24】将授课表中的开课时间的数据类型修改为将授课表中的开课时间的数据类型修改为DatetimeDatetime。在查询编辑器中输入并执行:在查询编辑器中输入并执行:alter table alter table 授课表授课表alter column alter column 开课时间开课时间 datetimedatetime4.3.2 用用Transact-SQL语句管理数据表语句管理数据表

43、2 2应用应用(1 1)修改列属性)修改列属性格式格式Alter table Alter table 表名表名Alter Column Alter Column 列名列名 新数据类型新数据类型【例【例4.254.25】将授课表中的开课时间的数据类型修改为】将授课表中的开课时间的数据类型修改为SmalldatetimeSmalldatetime。在查询编辑器中输入并执行如下语句:在查询编辑器中输入并执行如下语句:Alter table Alter table 授课表授课表Alter column Alter column 开课时间开课时间 Smalldatetime Smalldatetime(

44、2 2)添加列)添加列格式格式Alter table Alter table 表名表名Add Add 字段名字段名 数据类型数据类型 约束约束 4.3.2 用用Transact-SQL语句管理数据表语句管理数据表【例【例4.264.26】在授课表添加一个字段:开课地点,】在授课表添加一个字段:开课地点,varchar(30) nullvarchar(30) null。在查询编辑器中输入并执行如下语句:在查询编辑器中输入并执行如下语句:Alter table Alter table 授课表授课表Add Add 开课地点开课地点 varchar(20) null varchar(20) null注

45、意:添加的字段要设置为空值,如果不是空值,则添加的列具有指定的注意:添加的字段要设置为空值,如果不是空值,则添加的列具有指定的 DEFAULT DEFAULT 定义,定义,或者要添加的列是标识列或时间戳列。或者要添加的列是标识列或时间戳列。【例【例4.274.27】在】在“课程表课程表”添加一个字段:序号添加一个字段:序号 Smallint not null Smallint not null,标识种子为,标识种子为1 1,增量为,增量为1 1,且是唯一约束。,且是唯一约束。Alter table Alter table 课程表课程表Add Add 序号序号 smallint Not null

46、 IDENTITY(1,1) constraint un_1 unique smallint Not null IDENTITY(1,1) constraint un_1 unique注意:注意: IDENTITY(1,1) IDENTITY(1,1),表示添加的序号设置了标识列。,表示添加的序号设置了标识列。4.3.2 用用Transact-SQL语句管理数据表语句管理数据表(3 3)删除列)删除列格式格式Alter table Alter table 表名表名Drop column Drop column 字段名字段名【例【例4.284.28】将【例】将【例4.264.26】课程表添加的字

47、段:】课程表添加的字段:“开课地点开课地点”删除。删除。在查询编辑器中执行如下语句在查询编辑器中执行如下语句Alter table Alter table 授课表授课表Drop column Drop column 开课地点开课地点注意:当删除的列上有约束时,则需要删除约束后,再删除列。如,要删除在【例注意:当删除的列上有约束时,则需要删除约束后,再删除列。如,要删除在【例4.274.27】中】中添加的字段:添加的字段:“序号序号”,则要删除其唯一性约束,然后才能删除该列。,则要删除其唯一性约束,然后才能删除该列。即先执行:即先执行:Alter table Alter table 课程表课程表

48、Drop constraint un_1Drop constraint un_1再执行:再执行:Alter table Alter table 课程表课程表Drop column Drop column 序号序号4.3.2 用用Transact-SQL语句管理数据表语句管理数据表(4 4)添加约束)添加约束格式格式Alter table Alter table 表名表名Add Add 约束约束 【例【例4.294.29】将教师表中的】将教师表中的“职称职称”默认为:讲师,默认名为默认为:讲师,默认名为de_2de_2。Alter table Alter table 教师表教师表Add cons

49、traint de_2 default Add constraint de_2 default 讲师讲师 for for 职称职称【例【例4.304.30】将课程表中的】将课程表中的“学分学分”默认为:默认为:4 4。Alter table Alter table 课程表课程表Add default 4 for Add default 4 for 学分学分注意:【例注意:【例4.294.29】与【例】与【例4.304.30】的区别是一个指定了默认约束名,一个没有指定,由系统默】的区别是一个指定了默认约束名,一个没有指定,由系统默认。认。4.3.2 用用Transact-SQL语句管理数据表语句

50、管理数据表(5 5)删除约束)删除约束格式格式Alter table Alter table 表名表名Drop Constraint Drop Constraint 约束名约束名【例【例4.314.31】将【例】将【例4.294.29】中添加的默认约束】中添加的默认约束de_2de_2删除。删除。Alter table Alter table 教师表教师表Drop constraint de_2 Drop constraint de_2 为了加强添加约束和删除约束的技能,下面再进行强化训练。为了加强添加约束和删除约束的技能,下面再进行强化训练。【例【例4.324.32】将】将“选课表选课表”中

51、的联合主键中的联合主键PK_xh1PK_xh1删除。删除。Alter table Alter table 选课表选课表Drop constraint PK_xh1Drop constraint PK_xh1【例【例4.334.33】添加选课表中的学号,课程号的联合主键】添加选课表中的学号,课程号的联合主键PK_xh1PK_xh1。 alter table alter table 选课表选课表Add constraint PK_xh1 primary key(Add constraint PK_xh1 primary key(学号学号, ,课程号课程号) )4.3.2 用用Transact-SQ

52、L语句管理数据表语句管理数据表【例【例4.344.34】将选课表中的外键】将选课表中的外键FK_1FK_1删除。删除。Alter table Alter table 选课表选课表Drop constraint fk_1Drop constraint fk_1【例【例4.354.35】将上题中的删除的选课表中的外键】将上题中的删除的选课表中的外键FK_1FK_1添加。添加。 alter table alter table 选课表选课表add constraint fk_1 foreign key(add constraint fk_1 foreign key(学号学号) references )

53、 references 学生表学生表( (学号学号) )【例【例4.364.36】在】在“学生表学生表”中为联系电话建立唯一约束中为联系电话建立唯一约束UN_2UN_2。Alter table Alter table 学生表学生表Add constraint NU_2 unique(Add constraint NU_2 unique(联系电话联系电话) )4.3.2 用用Transact-SQL语句管理数据表语句管理数据表3 3删除数据表删除数据表格式格式Drop table Drop table 表名表名1,1,表名表名22删除表名删除表名1 1,表名,表名2 2。【例【例4.374.37

54、】将】将“授课表授课表”删除。删除。在查询编辑器中执行如下语句并执行:在查询编辑器中执行如下语句并执行:Drop table Drop table 授课表授课表说明:为了不影响后面的学习,实际操作中可不执行此语句。说明:为了不影响后面的学习,实际操作中可不执行此语句。【例【例4.384.38】将】将“学生表学生表”、“选课表选课表”删除。删除。在查询编辑器中执行如下语句并执行:在查询编辑器中执行如下语句并执行:Drop table Drop table 学生表学生表, ,选课表选课表说明:为了不影响后面的学习,实习操作中可不执行此语句。说明:为了不影响后面的学习,实习操作中可不执行此语句。4.

55、3.2 用用Transact-SQL语句管理数据表语句管理数据表4 4重命名数据表重命名数据表格式格式SP_rename SP_rename 原表名原表名,新表名新表名【例例4.394.39】将将“教师表教师表”更名为更名为“教师表教师表1”1”。在查询编辑器中执行如下语句并执行在查询编辑器中执行如下语句并执行sp_rename sp_rename 教师表教师表, , 教师表教师表11【例例4.404.40】将将“教师表教师表1”1”更名为更名为“教师表教师表”。sp_rename sp_rename 教师表教师表1, 1, 教师表教师表 4.3.2 用用Transact-SQL语句管理数据表

56、语句管理数据表5 5重命名列名重命名列名还可以利用还可以利用sp_renamesp_rename更改列名更改列名格式格式sp_rename sp_rename 表名表名. .原列名原列名,新列名新列名 【例【例4.414.41】将学生表中】将学生表中“学号学号”更名为更名为“学号学号1”1”。在查询编辑器中执行如下语句在查询编辑器中执行如下语句USE USE 学生成绩管理学生成绩管理GOGOsp_rename sp_rename 学生表学生表. .学号学号,学号学号11【例【例4.424.42】请大家再次将学生表中的】请大家再次将学生表中的“学号学号1”1”改为改为“学号学号”USE USE

57、学生成绩管理学生成绩管理GOGOsp_rename sp_rename 学生表学生表. .学号学号1,1,学号学号 4.44.4学生成绩管理数据库中表数据的插入、修改及删除学生成绩管理数据库中表数据的插入、修改及删除新表建立后,表中并不包含任何记录,要想实现存储必须向表中添加数据。本新表建立后,表中并不包含任何记录,要想实现存储必须向表中添加数据。本学习任务主要学习在学习任务主要学习在SSMSSSMS和和Transact-SQLTransact-SQL命令进行表记录的添加、修改和删除。命令进行表记录的添加、修改和删除。任务描述任务描述 4.4.1 在在SSMS实现记录的添加、修改和删除实现记录

58、的添加、修改和删除【例【例4.434.43】将表】将表4-134-13中的数据输入到学生表中。中的数据输入到学生表中。略略4.4.2 Transact-SQL语言实现表中记录的添加、删除及修改语言实现表中记录的添加、删除及修改【例例4.444.44】在课程表中添加一行记录:在课程表中添加一行记录:use use 学生成绩管理学生成绩管理gogoinsert insert 课程表课程表( (课程号课程号, ,课名课名, ,学分学分, ,学时学时, ,备注备注) values(1001,) values(1001,数据库技术数据库技术,4,72,4,72,适合适合电子信息专业课程电子信息专业课程)

59、或者:或者:insert into insert into 课程表课程表( (课程号课程号, ,课名课名, ,学分学分, ,学时学时, ,备注备注) values(1001,) values(1001,数据库技术数据库技术,4,72,4,72,适合电子信息专业课程适合电子信息专业课程)4.4.2 Transact-SQL语言实现表中记录的添加、删除及修改语言实现表中记录的添加、删除及修改(1 1)格式)格式INSERT INTO INSERT INTO 表名表名(字段字段1 1,字段,字段2 2,字段字段n) values (n) values (值值1 1,值,值2 2,值值n)n)说明:说

60、明: 字段数与字段数与valusevaluse中提供的值的个数要相同,而且数据类型要一致。中提供的值的个数要相同,而且数据类型要一致。 若给一条记录中的所有字段都提供数据,则可以省略表名后的字段。若给一条记录中的所有字段都提供数据,则可以省略表名后的字段。 用已经存在的一个表中的数据给指定的字段赋值的方法将在项目用已经存在的一个表中的数据给指定的字段赋值的方法将在项目5 5中介绍。中介绍。 标识列不能插入指定的数据值。标识列不能插入指定的数据值。4.4.2 Transact-SQL语言实现表中记录的添加、删除及修改语言实现表中记录的添加、删除及修改(2 2)应用)应用【例例4.454.45】在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论