sql建立表格语句Word文档下载推荐.docx

上传人:b****3 文档编号:14989527 上传时间:2022-10-26 格式:DOCX 页数:6 大小:17.83KB
下载 相关 举报
sql建立表格语句Word文档下载推荐.docx_第1页
第1页 / 共6页
sql建立表格语句Word文档下载推荐.docx_第2页
第2页 / 共6页
sql建立表格语句Word文档下载推荐.docx_第3页
第3页 / 共6页
sql建立表格语句Word文档下载推荐.docx_第4页
第4页 / 共6页
sql建立表格语句Word文档下载推荐.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

sql建立表格语句Word文档下载推荐.docx

《sql建立表格语句Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《sql建立表格语句Word文档下载推荐.docx(6页珍藏版)》请在冰豆网上搜索。

sql建立表格语句Word文档下载推荐.docx

  2定义表的语句:

cReatetable

  ([]

  [,[]][,]);

[例]

  3修改表的语句:

alteRtable

  [add[完整性约束]][dRop]

  [alteRcolumn];

[例

  ]

  4删除表的语句:

dRoptable

  5增加、删除索引

  三.实验内容

  1.创建学生-课程数据库(命名为s_t),然后在s_t数据库中创建学生情况表student,课程表course,学生选课表sc。

各种表的表结构如下:

  表3-2course表结构

  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列的长度改为50

  altertablecoursealtercolumncpnochar(3)altertablestudentaltercolumnsdeptchar(50)--修改表位列增加约束

  --给student表中的ssex列的增加默认约束,默认值为“男”

  altertablestudentaddconstraintdf_stu_sexdefault(男)forssex--修改表增加新列

  --为course表增加一列teacher,char(8)altertablecourseaddteacherchar(8)

  --修改表删除列:

删除course表的teacher列altertablecoursedropcolumnteacher

  --修改表添加主键约束:

为sc增加主键约束,约束建立在sno,cno两列上,命名为s_c

  altertablescaddconstraintpk_sc_scprimarykey(sno,cno)

  2.完成课后练习的spj数据库及相应的s、p、j表的建立,并按照以下的要求补充:

  为每个表设一个主键

  为s表增加一个唯一索引s_sno

  

  为p表增加一个索引p_pno,要求降序为j表增加一个索引j_jno为spj表加外键约束

  为spj表增加列qty的检查约束,要求qty>

  为spj表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序

  3.预习inseRtinto语句的用法,完成以上所有数据库表的记录输入

  答案

  usemaster--进入当前需要使用的数据库go

  --创建spj数据库createdatabasespjon--数据文件(

  name=spj_db,

  filename=e:

\sqlserver20xx\database\spj_db.mdf,size=3,

  maxsize=10,filegrowth=1)

  logon--日志文件(

  name=spj_log,

\sqlserver20xx\database\spj_log.ldf,size=1,

  maxsize=10,filegrowth=1)go

  usespjgo

  --在spj数据库中创建表createtables--创建供应商表(

  snochar(5)notnullprimarykey,--主键供应商代码snamevarchar(20),--供应商姓名sstatusint,--供应商状态

  cityvarchar(10),--供应商所在地)go

  createtablep--创建零件表

  (

  pnochar(5)notnullprimarykey,--零件代码pnamevarchar(20)notnull,--零件名colorvarchar(10),--颜色weightint--重量)go

  createtablej--创建工程项目表(

  jnochar(5)notnullprimarykey,--项目代码jnamevarchar(20)notnull,--项目名称cityvarchar(10),--项目所在城市)go

  createtablespj--创建供应情况表(

  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(qty>

0)go

  --向数据库表中插入数据

  insertintosvalues(s1,精益,20,天津)insertintosvalues(s2,盛锡,10,北京)insertintosvalues(s3,东方红,30,北京)

  篇二:

sql语句创建学生信息数据库表的示例

  用sql语句创建如下三个基本表:

学生表(student)、课程表(course)、学生选课表(sc),结构如下所示

  student表结构

  createtablestudent()

  course

  表结构

  createtablecourse()

  sc表结构

  cnovarchar(10)primarykey,cnamevarchar(20)notnull,ccreditintcheck(sctedit>

0),semesterintcheck(semester>

0),periodintcheck(period>

0)

  snovarchar(7)primarykey,snamevarchar(10)notnull,

  ssexchar

(2)check(ssex=‘男’orssex=’女’),sageintcheck(sagebetween15and45),sdeptvarchar(20)default(‘计算机系’)

  createtablesc()

  snovarchar(7)foreignkeyreferencesstudent(sno),cnovarchar(10)foreignkeyreferencescourse(cno),gradeintcheck(gradebetween0and100),primarykey(sno,cno)

  1.查询学生选课表中的全部数据。

  select*FRomscgo

  2.查询计算机系学生的姓名、年龄。

  selectsname,sageFromstudent

  wheresdept=’计算机系’

  3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

  selectsno,cno,gradeFromcourse,sc

  o=oandsc.gradebetween70and80

  4.查询计算机系年龄在18~20之间且性别为“男”的学生的

  姓名和年龄。

  wheresagebetween18and20andssex=’男’andsdept=’计算机系’go

  5.查询课程号为“c01”的课程的最高分数。

  selecttop1gradeselectmax(grade)as最高分Fromscfromsc

  wherecno=’c01’wherecno=’c01’orderbygradedescorderbygradedesc

  6.查询计算机系学生的最大年龄和最小年龄。

  selectmax(sage)as年龄最大,min(sage)as年龄最小Fromstudent

  7.统计每个系的学生人数。

  selectcount(sdept)as学生人数,sdeptFromstudentgroupbysdept

  8.统计每门课程的选课人数和考试最高分。

  selectcount(sno)as选课人数,c.sno,max(grade)as最高分Fo=o

  9.统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。

  selectsno,avg(grade)as’平均成绩’,count(cno)as’选课门数’Fromsc

  groupbysnoorderbysno

  10.查询总成绩超过200分的学生,要求列出学号、总成绩。

  selectsno,sum(grade)Fromsc

  groupbysno

  havingsum(grade)>

200

  11.查询选修了课程“c02”的学生的姓名和所在系。

  selectsname,sdeptFromstudents1,scs2

  wheres1.sno=o=’c02’

  12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按

  成绩的降序排列结果。

  selects1.sname,o,s2.gradeFromstudents1,scs2

  wheres1.sn(sql建立表格语句)o=s2.snoandgrade>

80orderbygradedesc

  13.查询哪些课程没有人选修、要求列出课程号和课程名。

  o,ame

  Fo=o,amehavingcount(s.sno)=0

  14.用子查询实现如下查询:

  

(1)查询选

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1