SQL语句创建SQL-Server-数据库和表(附答案)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验四用SQL语句创建SQLServer数据库和表(2学时)一.实验的目的1)熟悉企业管理器环境。2)掌握使用查询分析器的方法3)熟练掌握数据库创建、表创建与修改、索引创建与删除的语法4)熟悉SQLSERVER的数据类型5)熟练使用SQLSERVER的联机帮助系统二、相关知识点1建立数据库创建数据库的语句请参见SQLSERVER的帮助CREATEDATABASE,以下仅作参考2定义表的语句:CREATETABLE表名(列名数据类型[列级完整性约束条件][,列名数据类型[列级完整性约束条件]]…[,表级完整性约束条件]);[例]USES_T的结果是让此处显示s_t数据库,表明以下的所有操作都是在S-T数据库中进行的3修改表的语句:ALTERTABLE表名[ADD新列名数据类型[完整性约束]][DROP完整性约束名][ALTERCOLUMN列名数据类型];[例]4删除表的语句:DROPTABLE表名5增加、删除索引三.实验内容1.创建学生-课程数据库(命名为S_T),然后在S_T数据库中创建学生情况表Student,课程表Course,学生选课表SC。各种表的表结构如下:表3-1student表结构列名描述数据类型长度是否允许为空值默认值说明Sno学号Char11N主键Sname姓名Char8NSsex性别Char2NSage年龄TinyintNSdept所在系Char10N表3-2Course表结构表3-3SC表结构列名描述数据类型长度是否允许为空值说明Sno学号Char11N外键Cno课程号Char3N外键Grade成绩numeric(3,1)0-100之间1)修改表结构将course表的cpno的长度改为3将student表中的sdept列的长度改为50给student表中的ssex列的增加默认约束,默认值为“男”为course表增加一列teacher,char(8)删除course表的teacher列为sc增加主键约束,约束建立在sno,cno两列上,命名为s_c答案--修改表中字段列的长度--将course表的cpno的长度改为3--将student表中的sdept列的长度改为50altertablecoursealtercolumnCpnochar(3)altertablestudentaltercolumnsdeptchar(50)--修改表位列增加约束--给student表中的ssex列的增加默认约束,默认值为“男”altertablestudentaddconstraintdf_stu_sexdefault('男')forSsex--修改表增加新列--为course表增加一列teacher,char(8)altertablecourseaddteacherchar(8)--修改表删除列:?删除course表的teacher列altertablecoursedropcolumnteacher--修改表添加主键约束:?为sc增加主键约束,约束建立在sno,cno两列上,命名为s_caltertableSCaddconstraintpk_SC_scprimarykey(Sno,Cno)2.完成课后练习的SPJ数据库及相应的S、P、J表的建立,并按照以下的要求补充:为每个表设一个主键为S表增加一个唯一索引s_sno列名描述数据类型长度是否允许为空值说明Cno课程号Char3N主键Cname课程名Char20NCpno先修课Char10Ccredit学分Tinyint取值1-6的整数为p表增加一个索引p_pno,要求降序为J表增加一个索引j_jno为SPJ表加外键约束为SPJ表增加列qty的检查约束,要求qty0为SPJ表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序3.预习INSERTINTO语句的用法,完成以上所有数据库表的记录输入答案usemaster--进入当前需要使用的数据库go--创建spj数据库createdatabasespjON--数据文件(name='spj_db',filename='E:\SQLServer2005\database\spj_db.mdf',size=3,maxsize=10,filegrowth=1)logon--日志文件(name='spj_log',filename='E:\SQLServer2005\database\spj_log.ldf',size=1,maxsize=10,filegrowth=1)gousespjgo--在spj数据库中创建表createtables--创建供应商表(Snochar(5)notnullprimarykey,--主键供应商代码Snamevarchar(20),--供应商姓名Sstatusint,--供应商状态Cityvarchar(10),--供应商所在地)gocreatetablep--创建零件表(Pnochar(5)notnullprimarykey,--零件代码Pnamevarchar(20)notnull,--零件名Colorvarchar(10),--颜色Weightint--重量)gocreatetablej--创建工程项目表(Jnochar(5)notnullprimarykey,--项目代码Jnamevarchar(20)notnull,--项目名称Cityvarchar(10),--项目所在城市)gocreatetablespj--创建供应情况表(Snochar(5)notnullREFERENCESS(Sno),--供应商代码Pnochar(5)notnullREFERENCESP(Pno),--零件代码Jnochar(5)notnullREFERENCESJ(Jno),--工程项目代码Qtyint,--供应数量primarykey(Sno,Pno,Jno))go--为表创建索引createuniqueindexs_snoons(Sno)createindexp_pnoonp(PnoDESC)createindexj_jnoonj(Jno)createindexspj_sno_pno_jnoonspj(SnoDESC,Pno,Jno)--为SPJ表加外键约束altertablespjaddconstraintfk_snoforeignkey(sno)referencess(sno)altertablespjaddconstraintfk_pnoforeignkey(pno)referencesp(pno)altertablespjaddconstraintfk_jnoforeignkey(pno)referencesj(jno)--为表添加check约束altertablespjaddconstraintck_qtycheck(Qty0)go--向数据库表中插入数据insertintosvalues('s1','精益',20,'天津')insertintosvalues('s2','盛锡',10,'北京')insertintosvalues('s3','东方红',30,'北京')insertintosvalues('s4','丰泰盛',20,'天津')insertintosvalues('s5','为民',30,'上海')insertintopvalues('p1','螺母','红',12)insertintopvalues('p2','螺栓','绿',17)insertintopvalues('p3','螺丝刀','蓝',14)insertintopvalues('p4','螺丝刀','红',14)insertintopvalues('p5','凸轮','蓝',40)insertintopvalues('p6','齿轮','红',30)insertintojvalues('j1','三建','北京')insertintojvalues('j2','一汽','长春')insertintojvalues('j3','弹簧厂','天津')insertintojvalues('j4','造船厂','天津')insertintojvalues('j5','机车厂','唐山')insertintojvalues('j6','无线电厂','常州')insertintojvalues('j7','半导体厂','南京')insertintospjvalues('s1','p1','j1',200)insertintospjvalues('s1','p1','j3',100)insertintospjvalues('s1','p1','j4',700)insertintospjvalues('s1','p2','j2',100)insertintospjvalues('s2','p3','j1',400)insertintospjvalues('s2','p3','j2',200)insertintospjvalues('s2','p3','j4',500)insertintospjvalues('s2','p3','j5',400)insertintospjvalues('s2','p5','j1',400)insertintospjvalues('s2','p5','j2',100)insertintospjvalues('s3','p1','j1',200)insertintospjvalues('s3','p3','j1',200)insertintospjvalues('s4','p5','j1',100)insertintospjvalues('s4','p6','j3',300)insertintospjvalues('s4','p6','j4',200)insertintospjvalues('s5','p2','j4',100)insertintospjvalues('s5','p3','j1',200)insertintospjvalues('s5','p6','j2',200)insertintospjvalues('s5','p6','j4',500)select*fromsselect*frompselect*fromjselect*fromspj

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功