




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5 3结构化查询语言SQL 5 3 1SQL的数据定义5 3 2SQL的数据修改5 3 3SQL的数据查询 5 3 1SQL的数据定义 表的定义表结构的修改表的删除 表的定义 格式 Createtable 字段类型 字符C 数值N 浮点F 货币Y 日期D 时间T 备注M 通用G 用SQLcreate命令建立数据表Createtables info 卡号c 10 姓名c 8 性别c 2 班级c 10 出生日期d 8 简历m 4 照片g 4 Createtables score 卡号c 10 课程名称c 16 成绩n 5 1 表结构的修改 格式 altertableadd alter drop 一次只能修改或删除一个字段 只能修改字段的类型和长度 为s info表增加一个家庭地址字段altertables infoadd家庭地址c 20 修改s info表的家庭地址宽度为10altertables infoalter家庭地址c 10 删除s info表的家庭地址字段altertables infodrop家庭地址 表的删除 格式 droptable直接删除所对应的dbf文件 删除数据表时 最好在打开数据库的情况下进行操作 5 3 2SQL的数据修改 数据的插入数据的更新数据的删除 insertinto 字段名1 字段名2 values 当插入的不是完整的记录时 需指定字段 数据的插入 在s info表中插入一条新记录insertintos info 卡号 姓名 性别 出生日期 班级 values 19990101 王小辉 男 1981 2 24 9901 在s score表中插入一条新记录insertintos score 卡号 课程名称 成绩 values 19990101 英语 88 3 数据的插入 数据的更新updateSet where 用where子句指定更新的条件 不使用则全部更新 是关系表达式或逻辑表达式 1 关系运算符 小于 等于 不等于 或 小于等于 2 关系表达式 由关系运算符 数值表达式 字符表达式或日期表达式组合而成的式子 返回结果为逻辑值 3 关系运算符的两边 可以是字符表达式 数值表达式或者日期表达式 但两边的数据类型必须一致才能进行比较 示例 A B 2004 02 12 B 5 6 8 关系运算符及关系表达式 逻辑运算符 逻辑非 NOT 逻辑与 AND 逻辑或 OR 逻辑表达式 由逻辑运算符将逻辑型常量 逻辑型内存变量 逻辑型数组 返回逻辑型数据的函数和关系表达式组成 结果为逻辑型常量 逻辑运算符及逻辑表达式 数据的更新将s score表英语成绩小于60的改为60updates scoreset成绩 60where课程名称 英语 and成绩 60 数据的删除 Deletefrom where 注 SQLDelete命令是进行逻辑删除 如果要进行物理删除需要再使用命令pack 数据的删除 真正删除s info表中卡号为19990101的记录Deletefroms infowhere卡号 19990101 pack 5 3 3SQL的数据查询 Select all distinct top percent as别名 as别名 From inner left right full join on where and or Groupby having Orderby asc desc into tofile toprinter toscreen 无条件查询语句 例1 从学生基本信息表中查找所有学生情况Select Fromstu base 通配符 表示要查找所有字段 例2 从stu info表中查找所有学生的卡号 姓名 班级Select卡号 姓名 班级Fromstu base 条件查询示例 例3 从stu base表中查找170201班的学生的卡号 姓名 班级Selectstu no stu name stu classFromstu basewherestu class 170201 例4 从stu score中查找成绩大于80的学生的记录 Selectstu no course scoreFromstu scorewherescore 80 设定排序顺序 例5 从stu base表中查找所有学生的卡号 姓名 班级 并按卡号降序排序Selectstu no stu name stu classFromstu baseorderbystu nodesc 设定显示的记录数 top percent 说明 当省略percent时 数值表达式的取值范围是1 32767的整数说明显示前多少个记录 当使用percent 数值表达式的取值范围是0 01 99 99的实数 说明显示前百分之几的记录 必须与orderby同时使用 Selecttop5 Fromstu baseorderbystu nodescSelecttop20percent Fromstu baseorderbystu nodesc 限制重复记录 例 从stu base表中显示班级的名称 Selectstu classFromstu baseSelectdistinctstu classFromstu base 简单联接查询 简单联接查询是指输出的结果来源于两个数据表 两表之间的联接关系使用where子句的条件来确定 例 从stu base和stu score表中查找所有学生的卡号 姓名 性别 班级 课程名称和成绩 Selectstu no stu name stu sex stu class course scoreFromstu base stu scorewherestu base stu no stu score stu no 使用联接运算符的联接查询 From inner left right full join on 例 从stu base和stu score表中查找所有学生的卡号 姓名 性别 班级 课程名称和成绩 Selectstu base stu no stu name stu sex stu class course scoreFromstu baseinnerjoinstu scoreonstu base stu no stu score stu no 嵌套查询 嵌套查询是指在一个select语句中包含着一个或多个select语句 例 哪些班级有英语成绩大于80的学生 Selectdistinct班级Fromstu infowhere卡号in select卡号fromstu scorewhere课程名称 英语 and成绩 80 例 查找一个班的所有学生的英语成绩都大于70的学生基本信息 Select Fromstu basewherestu classnotin selectstu classfromstu base stu scorewhere course 英语 andscore 70 and stu base stu no stu score stu no 计算查询 用于查询的函数有 Count 计数sum 求和avg 求平均值Max 求最大值min 求最小值 例 求170201班同学的英语平均成绩Selectavg score fromstu base stu scorewherestu base stu no stu score stu noandcourse 英语 andstu class 170201 Select Fromstu infowhere班级notin select班级fromstu info stu scorewhere 课程名称 英语 and成绩 70 and stu info 卡号 stu score 卡号 分组查询 根据某些关键字的值对一些数值属性的值汇总计算 groupby having 例 求每个同学的平均成绩Selectstu base stu no stu name stu class avg score as平均成绩fromstu base stu scorewherestu base stu no stu score stu nogroupbystu base stu no Select Fromstu infowhere班级notin select班级fromstu info stu scorewhere 课程名称 英语 and成绩 70 and stu info 卡号 stu score 卡号 例 求每个班的平均成绩Selectstu class avg score as平均成绩fromstu base stu scorewherestu base stu no stu score stu nogroupbystu base stu class Select Fromstu infowhere班级notin select班级fromstu info stu scorewhere 课程名称 英语 and成绩 70 and stu info 卡号 stu score 卡号 设定输出目标查询 intotabletofiletoprintertoscreen 例 Select姓名 性别 班级 课程名称 成绩Fromstu info stu scorewherestu info 卡号 stu score 卡号tofiletext 特殊运算符 Between and 在与之间Like像 Not非 例 查找英语成绩在70 90分之间的学生Select姓名 性别 班级 课程名称 成绩Fromstu info stu scorewherestu info 卡号 stu score 卡号and课程名称 英语 and成绩between70and90 例 查找英语成绩在70 90分之间的学生信息Selectstu base Fromstu base stu scorewherecourse 英语 andscorebetween70and90andstu base stu no stu score stu no 特殊运算符 Between and Likenot 例 查找英语成绩在70 90分之间的学生Select姓名 性别 班级 课程名称 成绩Fromstu info stu scorewherestu info 卡号 stu score 卡号and课程名称 英语 and成绩between70and90 例 查找姓王学生的信息Select Fromstu basewherestu namelike 李 Like是字符串匹配运算符 通配符 表示多个字符 通配符 表示一个字符 特殊运算符 Between and Likenot 例 查找英语成绩在70 90分之间的学生Select姓名 性别 班级 课程名称 成绩Fromstu info stu scorewherestu info 卡号 stu score 卡号and课程名称 英语 and成绩between70and90 例 查找非 170202 班的全部学生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难点解析沪科版9年级下册期末测试卷有答案详解
- 边缘计算挖掘策略-洞察及研究
- 难点解析-公务员考试《常识》同步测评试卷(详解版)
- 突变型肺动脉高压基因治疗-洞察及研究
- 2025年事业单位笔试-浙江-浙江公共卫生管理(医疗招聘)历年参考题库典型考点含答案解析
- 2025年事业单位笔试-四川-四川中西医结合外科(医疗招聘)历年参考题库典型考点含答案解析
- 2025年事业单位笔试-北京-北京中医内科学(医疗招聘)历年参考题库典型考点含答案解析
- 2025年事业单位笔试-上海-上海临床医学工程技术(医疗招聘)历年参考题库典型考点含答案解析
- 薪酬激励策略设计-洞察及研究
- 香港小学面试题目及答案
- 2025至2030中国婚庆行业发展趋势分析与未来投资战略咨询研究报告
- 2025年职业病诊断医师资格考试(职业性化学中毒)历年参考题库含答案详解(5卷)
- 2025年高校机房管理试题及答案
- ESG基础知识培训课件
- 2025广西公需科目真题续集(附答案)
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- GA/T 1073-2013生物样品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、异丙醇和正丁醇的顶空-气相色谱检验方法
- 《花卉学》教案
- DB33∕1050-2016 城市建筑工程日照分析技术规程
- 数控加工工艺与编程教案
评论
0/150
提交评论