数据库原理与应用 (数据表的基本操作)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CollIndintIDENTITY(1,1)NOTNULL,
ColRowuniqueidentifierROWGUIDCOLNOTNULLDEFAULTNewID()
)
GO
3.使用Transact-SQL语句在数据库myDB中创建学生成绩管理系统数据表,包括三个数据表:课程数据表Course、学生数据表Student、学生成绩数据表SC。
2.使用Transact-SQL语句创建数据表
USEmyDB
GO
CREATETABLEmyTable2
(
CollntintNOTNULLDEFAULT0,
ColRealreal,
ColCharchar(10),
ColVarCharnchar(10),
ColDataTimedatetimeNOTNULLDEFAULTGetDate(),
②:使用Transact-SQL语句删除表中的数据
如:删除Student表中关于男生的数据
USEmyDB
GO
DELETEFROMStudentWHERESsex='男'
GO
如:删除学生数据表Student中的全部数据
USEmyDB
GO
DELETEFROMStudent
GO
注释:虽然TRUNCATE TABLE也能清空表中的数据。但是它是清空表中的所有数据,只留下一个表的定义,而且不记录日志文件。
在对象资源管理器中,右击要操作的数据表,选择设计命令,单击工具栏上的管理Check约束按钮,单击添加按钮,在“约束表达式”文本框中输入检查约束的表达式,输入完毕后,在“约束名”文本框中输入约束的名称,单击关闭按钮。
如:设置Student数据表中的Sage的值必须在0~100之间。
11.使用Transact-SQL语句设置Student数据表中的Sage的值必须在0~100之间,Ssex的值只能是“男”或“女”。
ConstraintcourseFKforeignKey(Cno)ReferencesCourse(Cno),
☆:此语句包含在表SC中!
其中的第一条语句是设置SC表中Sno为外关键字,参照Student表中的Sno
其中的第二条语句是设置SC表中Cno为外关键字,参照Student表中的Cno
8.唯一性约束(确保在非主键列或允许为空值的列中输入不重复的值)
若要修改某数据表,必须首先进行数据表的结构设计界面,然后就与新建数据表一样,可以增加、删除数据列,修改某数据列的数据类型、长度等属性,还可以修改数据表的主键、外键、索引、唯一性约束、检查约束等。
如:修改数据表Student。右击Student单击设计。用和创建对象一样的方法修改数据表。
15.使用Transact-SQL语句修改数据表
GO
19.将另一个学生数据表Student 0中的数据插入到学生数据表Student中。
USEmyDB
GO
INSERTStudent
SELECT*FROMStudent0WHERESsex='男'
GO
20.删除表中的数据
①:使用向导删除表中的数据。
在资源对象管理器中,选择需要删除数据的表,用鼠标右键单击该表,右击选择编辑前200行,选中要删除的记录,右键选择删除命令。
21.修改表中的数据
①:使用SQL Server Management Studio工具修改表中的数据
在对象资源管理器中,选择需要删除数据的表,右击选择编辑前两百行,即可对表中的数据进行修改。
22.使用Transact-SQL语句来修改表中的数据
USEmyDB
GO
UPDATESC
SETGrade=Grade*1.05
GO
18.向表中插入数据
①:使用向导向表中插入数据。
在资源对象管理器中,定位到要插入数据的数据表,右击并单击“编辑前两百行”。此时可以输入你想要的数据。
注释:直接输入数据即可,会自己保存的。当然数据得符合定义的约束条件。
②:使用Transact-SQL语句想表中插入数据
USEmyDB
GO
INSERTStudentVALUES('95005','李呵','男','20','cs')
ConstraintIX_stuUnique(Sname),
☆:此语句包含在表Student中!
设置了Student数据表的Sname是一个满足唯一性约束的列。且唯一性约束名为IX_stu
10.检查约束(对输入列或整个表中的值设置检查条件,以限制输入值,保证数据库的数据完整性,可以对每个列设置检查条件。)
USEmyDB
CREATETABLECourse
(
Cnochar(1)NOTNULLDEFAULT'',
Cnamevarchar(20)DEFAULT'',
Cpnochar(1),
CcreditintDEFAULT0,
ConstraintCoursePKPrimaryKey(Cno)
)
CREATETABLEStudent
ConstraintcourseFKforeignKey(Cno)ReferencesCourse(Cno),

GO
4.主关键字约束
右击要操作的数据表,选择设计命令,选择要设置为主键的字段(要选择多个字段的话请用ctrl键),然后有鼠标右键单击选中的字段,从弹出的快捷菜单中选择“设置主键”按钮。或是点击菜单栏中的长得像钥匙的按钮。
(
Snochar(5)NOTNULLDEFAULT'',
Snamechar(6)DEFAULT'',
Ssexchar(2)DEFAULT'',
SageintDEFAULT0,
Sdeptchar(2)DEFAULT'',
ConstraintStudentPKPrimaryKey(Sno),
ConstraintSaggeCKCheck(Sage>0andSage<150)
主关键字约束右击要操作的数据表选择设计命令选择要设置为主键的字段要选择多个字段的话请用ctrl然后有鼠标右键单击选中的字段从弹出的快捷菜单中选择设置主键按钮
《数据库原理与应用》实验报告
题目:实验三:数据表的基本操作
学号:1148028
姓名:沈宇杰
日期:2013/4/11
实验预习情况:
本章的预习内容主要是学习对于数据表的基本操作。表是由行和列组成的。
注释:实际工作中不如首先删除要修改的数据表,然后重新创建数据表。
例如:向学生数据表Student中增加一个数据列住址Saddr,字符型20。
USEmyDB
GO
ALTERTABLEStudentADDSaddrVARCHAR(20)NULL
GO
注释:如果是用向导新增的列Saddr则操作完毕后需保存!
16.使用Transact-SQL语句向表Student中系号列增加一个检查约束,检查其字符数必须为2。
13.使用Transact-SQL语句指定默认约束
方法一:使用DEFAULT关键字,如:Snochar(5)NOTNULLDEFAULT'',
方法二:使用CREATE DEFAULT语句创建默认对象,然后使用sp_binddefault系统存储过程将它绑定到列上。
14.修改数据表(使用向导修改数据表)
ConstraintSaggeCKCheck(Sage>0andSage<150),
ConstraintSsexCKCheck(Ssexin('男','女'))
☆:此语句包含在表Student中!
第一句语句是在Student表中建立了约束SaggeCK用于限定Sage的范围在【0,100】
第二句语句是在Student表中建立了约束SsexCK用于限定Ssex的范围是‘男’或‘女’。
7.使用Transact-SQL语句指定外关键字约束
如:利用Transact-SQL语句设置SC数据表的Sno是一个外关键字,参考Student表中的Sno;设置SC数据表的Cno是一个外关键字,参考Course表中的Cno。
ConstraintStudentFKforeignKey(Sno)ReferencesStudent(Sno),
)
CREATETABLESC
(
Snochar(5)NOTNULLDEFAULT'',
Gradeint,
ConstraintSCPKPrimaryKey(Sno,Cno),
ConstraintStudentFKforeignKey(Sno)ReferencesStudent(Sno),
预习内容:
1.使用向导创建数据表
先新建一个数据库“myDB”,右击表对象,从弹出的快捷菜单中选择“新建表”命令。定义一个整型列Collnt,该列不能为空,默认值为0。每当在表中在该列插入带空值的行时,显示该列的默认值。下面再定义一个日期型列ColDataTime,该列不能为空,且默认值为函数getdate()。再定义一个标示符属性列Collnd,其初值为1,增量也为1。注意:标示符属性列必须以decimal、int、smallint、bigint或tinyint数据类型定义。在定义标示符列时,必须指定种子和增量值(其默认值均为1)。再定义一个全局唯一标示符属性列ColRow。注:一个表最多只能有一列定义为是RowGuid列,且该列必须定义为uniqueidentifier数据类型。如果应用程序需要生成在整个数据库或世界各地所有网络计算机的全部数据库中均为唯一标示符列,要使用全局唯一标示符列属性。设计好数据表后,单击工具栏上的保存按钮,输入表名并保存。如要查看代码,可以选择编写脚本为create到新查询编辑器窗口。
注释:Sage > 0也可以写成([Sage]>(0) AND [Sage]<(150))。
12.默认约束(默认约束DEFAULT通过定义列的缺省值或使用数据库的缺省值对象绑定表的列,用来指定列的缺省值。)
在对象资源管理器中,右击要操作的数据表,点击设计命令,选择要设置为默认约束的字段后,在默认一栏中输入该字段的默认值,即可创建默认约束。
5.使用Transact-SQL语句指定主关键字约束
ConstraintStudentPKPrimaryKey(Sno),
ConstraintSCPKPrimaryKey(Sno,Cno),
☆:此语句包含在表SC中!
此语句指定了Sno为主关键字且主关键字名为StudentPK,后一句语句的目的是同时设置Sno和Cno两个主关键字,且关键字名为SCPK,此语句告诉我们可以同时设置多个字段为主关键字。
6.外关键字约束,使用向导指定外关键字约束。例如设置SC表中的Sno是一个外关键字,参考Student表中的Sno;设置SC数据表中的Cno是一个外关键字,参考Course表中的Cno。
在资源对象管理器中,打开数据表SC的数据表,右击设计选项卡,点击工具栏上的“管理关系”按钮,弹出外键关系对话框,设置SC数据表的Sno是一个外关键字,参考Student表中的Sno。过程:在外键关系选项卡中,点击表和列规范后面的设置按钮,输入关系名StudentFK,在主键表中选择被参考的数据表Student并选择Sno列,同时选择外键表下拉菜单中的数据表SC为外键表,且选择数据表Sno。
①:表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。
②:除了用列名和数据类型来指定列的属性外,还可以定义其他的属性,是否为空、默认值、标示符列、全局唯一标示符列等。
③:SQL中共有5中约束:主关键字约束( Primary Key Constraint )、外关键字约束( Foreign Key Constraint )、唯一性约束( Unique Constraint )、约束检查( Check Constraint )、默认约束( Default Constraint )。
USEmyDB
GO
ALTERTABLEStudentADDCONSTRAINTCK_SDeptCHECK(LEN(RTRIM(Sdept))=2)
GO
17.使用Transact-SQL语句删除学生数据表Student中的住址列。
USEmyDB
GO
ALTERTABLEStudentDROPCOLUMNSaddr
WHERESnoIN(SELECTSnoFROMStudentWHERESsex='男')
GO
在对象资源管理器中,用鼠标右键单击要操作的数据表,选择设计命令。单击工具栏上的“管理索引和键”按钮,单击添加按钮,在列一栏中选择要将唯一约束附加的列,单击“关闭”按钮。
9.使用Transact-SQL语句创建唯一性约束
如:使用Transact-SQL语句设置Student数据表的Sname是一个满足唯一性约束的列。
相关文档
最新文档