vf-sql-定义

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

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

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

资源描述

SQL数据查询四个表1.学生表(学号,姓名,性别,出生日期,班级)2.教师表(教师工号,姓名,性别,出生日期,职称,部门)3.课程表(课程编号,课程名称,教师工号)4.成绩表(学号,课程编号,成绩)SQL数据查询练习:1.查询学生表中的所有记录的姓名,性别和班级列。Select姓名,性别,班级from学生2、查询教师所有的单位即不重复的部门列。Selectdistinct部门from教师3、查询学生表的所有记录。Select*from学生4、查询成绩表中成绩在60到80之间的所有记录。Select*from成绩where成绩between60and80Select*from成绩where成绩=60and成绩=805、查询成绩表中成绩为85,86或88的记录。Select*from成绩where成绩in(85,86,88)SQL数据查询6、查询学生表中“95031”班或性别为“女”的同学记录。Select*from学生where班级=“95031“or性别=“女“7、以班级降序查询学生表的所有记录。Select*from学生orderby班级desc8、以课程号升序、成绩降序查询成绩表的所有记录。Select*from成绩orderby课程号asc,成绩desc9、查询“95031”班的学生人数。Selectcount(学号)as人数from学生where班级=“95031”10、查询成绩表中的最高分的学生学号和课程号,最高分Select学号,课程号,成绩as最高分from成绩where成绩in(selectmax(成绩)from成绩)SQL数据查询11、查询‘3-105’号课程的平均分。Selectavg(成绩)from课程where课程号=“3-105”12、查询所有学生的姓名、课程号和成绩列。Select学生.姓名,课程号,成绩from学生,成绩where学生.学号=成绩.学号13、查询所有学生的姓名、课程名称和成绩列。Select姓名,课程名称,成绩from学生,课程,成绩Where学生.学号=成绩.学号and成绩.课程编号=课程.课程编号14、查询“95033”班所选课程的平均分。Select课程号,avg(成绩)as平均分from学生,成绩where学生.学号=成绩.学号and班级=“95033”groupby课程号SQL数据查询15.按班级分类显示学生的姓名,课程名称,成绩,先按班级升序,同一班级按成绩降序排序Select班级,姓名,课程名称,成绩from学生,课程,成绩Where学生.学号=成绩.学号and成绩.课程编号=课程.课程编号Groupby班级Orderby班级,成绩desc16.显示各班总人数并将查询结果保存到zs。txtSelect班级,count(人数)from学生groupby班级tofilezs兴隆职教中心詹亚萍4.2SQL数据定义SQL数据定义1.定义表2.设置有效性规则3.建立表间关系4.修改表结构5.删除表SQL数据定义1、创建表格式:CREATETABLE表名;[FREE];(;字段1字段类型[(宽度[,小数位])];[,字段名2…]…;)功能:建立数据表说明:FREE:创建自由表创建的字段要设置宽度,类型和小数位。SQL数据定义例1:在学生选课数据库学校中创建一个学生表,字段有:学号c(8),姓名c(6),性别c(2),院系c(8),出生日期D,入学成绩N(4,1)。OPENDATABASE学校CREATETABLE学生(学号c(8),姓名c(6),性别c(2),院系c(8),出生日期D,入学成绩N(4,1))SQL数据定义创建自由表:例2:创建一个自由表,用sql命令建立“学生”表(学生证号(C,10),姓名(C,8),出生日期(D),党员(L),家庭住址(M),照片(G))。CreateTable学生表;Free;(;学生证号C(10,;姓名C(8),;出生日期D,;党员L,家庭住址M,;照片G;)SQL数据定义练习:创建图书表(总编号(C,6),分类号(C,8),书名(C,16),作者(C,16),出版单位(C,16))CREATETABLE图书(总编号C(6),分类号C(8),书名C(16),作者C(16),出版单位C(16))SQL数据定义2、建立表时设置有效性规则格式:CREATETABLE表名;(;字段1字段类型[(宽度[,小数位])];[primarykey|unique];[check表达式[error提示信息]];[default表达式];[,字段名2…]…;)功能:建表时设置有效性规则说明:只能是数据库表设置Primarykey:该字段设置为主索引Unique:字段设置为候选索引Check表达式:定义字段有效性规则Error提示信息:为字段的有效性规则设置出错提示信息Default表达式:为字段指定默认值。SQL数据定义例1:建立“考试管理”数据库,用sql命令建立“课程”表(课程号(C,4),课程名(C,8)),并设置“课程号”为主索引。CREATEDATABASE考试管理OPENDATABASE考试管理CREATETABLE课程(课程号C(4)PRIMARYKEY,课程名C(8))SQL数据定义例2:用sql命令建立“考生”表(考试号(C,4),姓名(C,8),年龄(I)),并设置“考试号”为主索引,并对“年龄”字段建立有效性规则:年龄=16,否则弹出提示信息“年龄太小”。CREATETABLE考生(考试号C(4)PRIMARYKEY,姓名C(8),年龄Icheck年龄=16error“年龄太小!”)SQL数据定义例3:用sql命令建立“职工”表(仓库号C(5),职工号C(5),工资I),并设置“职工号”为主索引,并对“工资”字段建立有效性规则:工资=1000,工资=5000,否则弹出提示信息“工资值的范围在1000-5000!”为工资设置默认值1200。CREATETABLE职工(仓库号C(5),职工号C(5)PRIMARYKEY,工资ICHECK(工资=1000.AND.工资=5000)ERROR”工资值的范围在1000-5000!”default1200)SQL数据定义练习:1.用sqlcreate命令定义book表,字段有(图书IDC(5),书名C(20),作者C(16),单价N(6,2),版次C(2),出版日期D,备注M),并设置“图书ID”为主索引。Createtablebook(图书IDC(5)primarykey,书名C(20),作者C(16),单价N(6,2),版次C(2),出版日期D,备注M)SQL数据定义3、建立表间的永久的关联格式:CREATETABLE表名;(;字段1字段类型[(宽度[,小数位])];[primarykey|unique];[check表达式[error提示信息]];[default表达式];References表名2[tag标记];[,字段名2…]…;[,foreignkey表达式tag标记];References表名3[tag标记];)功能:建立表间关联说明:references表名2:表示与表名2建立关联Foreignkey:建立普通索引表2和表3要设置主索引SQL数据定义例1:用sql命令建立“考试成绩”表(考试号(C,4),课程号(C,4),成绩(I)),并分别与“考生”表(考试号(C,4),姓名(C,8),年龄(I))和“课程”表(课程号(C,4),课程名(C,8))表建立关联。CREATETABLE考试成绩(课程号C(4),考试号C(4),Foreignkey课程号tag课程号references课程,Foreignkey考试号tag考试号references考试,成绩I)SQL数据定义练习:1.用sqlcreate命令定义JY表,字段有(借书证号C(4),图书IDC(5),借书日期D,还书日期D),“图书ID”字段为普通索引,并与book表建立一对多关系:CreatetableJY(借书证号C(4),图书IDC(5),借书日期D,还书日期D,Foreignkey图书IDtag图书IDreferencesbook)SQL数据定义、4.修改表结构altertable(1)增加字段格式:altertable表名add[column]字段名字段类型(宽度)功能:对指定的表增加一个字段。例:学生表.dbf增加一个新字段,新字段名为“血型”,字段宽度为1。Altertable学生表addcolumn血型C(1)SQL数据定义、练习:1.为学生student表增加一个照片字段。altertablestudentaddcolumn照片G2.学生表.dbf增加一个新字段,新字段名为“政治面貌”,字段宽度为4。ALTERTABLE学生表ADDcolumn政治面貌C(4)SQL数据定义、(2)修改字段格式:altertable表名altercolumn字段名字段类型(宽度)功能:在指定的表中修改指定字段的类型和宽度,不能修改字段名。例:把学生student表中的姓名字段宽度由6改为10。ALTERTABLEstudentALTER姓名c(10)练习:将“课程表”中的“课程号”字段的宽度由8改为10Altertable课程表alter课程号C(18)SQL数据定义、(3)修改字段名格式:ALTERTABLE表名RENAME[column]字段名1TO字段名2功能:在指定表中将字段名1更名为字段名2。说明:执行一条命令只能对一个字段进行一种操作。例:把课程表course中的课名改为课程名称。ALTERTABLEcourseRENAME课名TO课程名称练习:将教师表中的工资字段更改为月工资Altertable教师表rename工资to月工资SQL数据定义、(4)设置字段属性格式:altertable表名;alter|drop[column]字段名字段类型[(宽度[,小数位])][check表达式[error提示信息]];[setdefault表达式][dropdefault][dropcheck][renamecolumn字段名2to字段名3]功能:定义、修改、删除字段及有效性规则和默认值说明:check:修改指定字段的有效性规则setdefault:修改指定字段的默认值drop:删除字段dropdefault:删除指定字段的默认值dropcheck:删除字段有效性规则rename:将字段2改名为字段3SQL数据定义练习:1:将学生表的专业字段的宽度由原来的10改成12altertable学生alter专业C(12)2:将学生的性别字段默认值定义为“男”Altertable学生alter性别setdefault“男”3:为学生表增加一个字符类型宽度为12的电话字段Altertable学生add电话C(12)4:在人才档案表中删除“工作简历”及“籍贯”字段的约束规则Altertable考生dropcolum工作简历drop籍贯例5:在学生表中修改“姓名”,“性别”的字段宽度为20Altertalbe考生alter姓名C(20),性别c(20)SQL数据定义、例1:修改“考试成绩”表中的“课程号”的默认值“KJ01”altertalbe考试成绩alter课程号setdefault“KJ01”例2:删除“考生”表中“年龄”字段的有效性规则Altertable考生alter年龄dropcheck例3:删除“考生”表中“职业”字段Altertable考试dropcolumn职业例4:修改“考生”表中“年龄”字段设置有效性规则年龄大于16,否则错误提示“年龄太小”Altertable考生alter年龄check年龄16error“年龄太小”例5:将“考生”表中的“姓名”改成“考生姓名”Altertalbe

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

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

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

×
保存成功