【教学课件】第6章SQL语言的应用.ppt
《【教学课件】第6章SQL语言的应用.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第6章SQL语言的应用.ppt(52页珍藏版)》请在三一办公上搜索。
1、第6章 SQL语言的应用,任课教师:乔奎贤,E-mail:,本章内容,6.1 SQL语言概述 6.2 数据定义 6.3 数据查询 6.4 数据操纵,6.1 SQL语言概述类型,结构化查询语言SQL:Structured Query LanguageSQL标准:20世纪80年代初由美国国家标准协会(ANSI)制定SQL语言的特点:SQL是一种一体化的语言SQL语言是一种高度非过程化的语言SQL语言非常简洁SQL语言可直接以命令方式交互使用,也可嵌入到程序设计语言中以程序方式使用,6.2 数据定义,6.2.1 建立表结构6.2.2 删除表6.2.3 修改表结构,6.2.1 建立表结构,格式:Cre
2、ate Table|Dbf Name Free(,)Null|Not Null Check Error Default Primary Key|Unique References Tag,)功能:创建表,以指定的字段属性定义表的结构例如:Create Table aa Free(Fd1 C(8),Fd2 L,Fd3 N(4),Fd4 N(7,2),Fd5 D Null),6.2.1 建立表结构,说明:Free:创建自由表 Check Error:完整性检查,检测字段值是否有效Default:指定字段默认值Primary Key:指定字段为关键字段,仅用于数据库表Unique:指定字段为候选关键
3、字段References:为新建表指定永久性父表 Tag:父表中的关联字段,6.2.1 建立表结构,例6.1:创建表“学生”表,它由学号、姓名、性别、年龄、系别五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一Create Table 学生;(学号 char(6)not null unique,;姓名 char(10)unique,;性别 char(2),;年龄 int,;系别 char(20);),6.2.1 建立表结构,例6.2:创建创建“学生管理”数据库,其中包含3个表:学生表、选课表、课程表Create Database 学生管理Create Table 学生(学号 C(6
4、)Primary Key,姓名 C(10),;入学成绩 N(5,1)Check(入学成绩 0)Error 成绩应大于0!)Create Table 课程(课程号 C(5)Primary Key,;课程名 C(20),学分 N(1)Create Table 选课(学号 C(6),课程号 C(5),;成绩 I Check(成绩=0 And 成绩=100);Error 成绩范围0100 Default 60,;Foreign Key 学号 Tag 学号 Reference 学生,;Foreign Key 课程号 Tag 课程号 Reference 课程),6.2.1 建立表结构,使用说明:SQL C
5、reate命令不仅可以创建表,还可创建表之间的联系SQL Create命令创建的表自动在最小可用工作区中打开,并可通过别名引用,新表以独占方式打开若建立自由表,则某些选项不可用,如Name、Check、Default、Foreign Key、Primary Key、References等,6.2.2 删除表,格式:Drop Table 功能:直接从磁盘上删除所指定的表文件 如果指定的表文件是数据库表且相应的数据库是当前数据库,则从数据库中删除了表;否则虽然从磁盘上删除了表文件,但是记录在数据库文件中的信息却没有删除,此后会出现错误提示,6.2.3 修改表结构,格式1:Alter Table A
6、dd|Alter Column(,)功能:可以添加(Add)新的字段或修改(Alter)已有的字段,其句法基本可与Create Table的句法相对应例6.3:为课程表增加一个整数类型的“学时”字段Open Database 学生管理Alter Table 课程 Add 学时 I Check(学时16);Error 学时应大于16!,6.2.3 修改表结构,格式2:Alter Table Alter Column Null|Not Null Set Default Set Check Error Drop Default Drop Check功能:定义、修改和删除有效性规则以及默认值定义例6.
7、4:删除课程表中的“学时”字段的有效性规则Open Database 学生管理Alter Table 课程 Alter 学时 Drop Check,6.2.3 修改表结构,格式3:Alter Table Drop Column Set Check Error Drop CheckAdd Primary Key Tag For Drop Primary Key Rename Column To 功能:删除指定字段、修改字段名、修改指定表的完整性规则,包括主索引、外关键字、候选索引及表的合法值限定的添加与删除例6.5:删除课程表中的“学时”字段Open Database 学生管理Alter Tab
8、le 课程 Drop Column 学时,6.3 数据查询,6.3.1 基本查询6.3.2 条件查询6.3.3 嵌套查询6.3.4 多表查询6.3.5 联接查询6.3.6 查询结果处理,6.3 数据查询,数据查询:数据库的核心操作格式:Select All|Distinct 字段选择 From子句Join子句 Where子句 Group子句 Order子句功能:从指定表或视图中,创建一个由指定范围内、满足条件、按某字段分组、按某字段排序的指定字段组成的新记录集说明:命令基本形式:Select From Where命令可从数据库中查询出各种数据 All:查询结果是表的全部记录 Distinct:
9、查询结果是不包含重复记录的记录集,6.3.1 基本查询,基本查询:Select All|Distinct 字段选择 From子句字段选择:As,As From子句:From,例6.6:写出对stu表进行如下操作的命令(1)列出全部学生信息Select*From 学生(2)列出全部学生的学号、姓名和入学成绩Select 学号,姓名,入学成绩 From 学生(3)列出全部学生的姓名和年龄,去掉重名Select Distinct 姓名 As 学生名单,Year(Date()-Year(出生日期)As 年龄 From 学生,6.3.1 基本查询,基本查询:Select All|Distinct 字段选
10、择 From子句:可以是字段、表达式、函数查询计算函数的格式及功能:,6.3.1 基本查询,基本查询:Select All|Distinct 字段选择 From子句例6.7:写出对stu表进行如下操作的命令(1)将所有学生入学成绩四舍五入,仅学号、姓名和入学成绩Select 学号,姓名,Round(入学成绩)As 入学成绩 From 学生(2)求全部学生入学成绩的平均分Select Avg(入学成绩)As 入学成绩平均分 From 学生(3)求入学成绩的最高分和最低分Select Max(入学成绩)As 最高成绩,;Min(入学成绩)As 最低成绩 From 学生,6.3.2 条件查询,Whe
11、re 子句:用于指定查询条件,其格式是:Where 说明:条件表达式可以是单表的条件表达式,也可以是多表之间的条件表达式,表达式用的运算符为:比较运算符:=、!=、=、=、=逻辑运算符:And、Or、Not字符匹配运算符:Not Like确定范围运算符:Not Between And空值运算符:Is Not Null集合从属:In,6.3.2 条件查询,例6.8:写出对stu表进行如下操作的命令查询入学成绩在480分以上的学生记录Select*From 学生 Where 入学成绩480Select*From 学生 Where Not 入学成绩=420 And 入学成绩520)Select*Fr
12、om 学生 Where 入学成绩 Between 420 And 520,6.3.2 条件查询,例6.8:写出对stu表进行如下操作的命令查询女学生入学平均分Select Avg(入学成绩)As 入学平均分 From 学生;Where 性别=女性别!=男 性别 男 Not 性别=男 查询陕西籍学生记录Select*From 学生 Where 籍贯=陕西Select*From 学生 Where 籍贯 Like 陕西%通配符:%表示0个或多个字符表示1个字符,6.3.2 条件查询,例6.8:写出对stu表进行如下操作的命令查询陕西、四川和辽宁籍学生记录Select*From 学生 Where 籍贯
13、=陕西 Or;籍贯=四川 Or 籍贯=辽宁Select*From 学生 Where 籍贯 In(陕西,四川,辽宁)查询所有宿舍电话为空值的学生Select*From 学生 Where 宿舍电话 Is Null注意:成绩 Is Null 不能写成成绩=Null,6.3.3 嵌套查询,嵌套查询:在Select命令的Where子句中包含另一个Select命令分类:单层嵌套查询、多层嵌套查询VFP只支持单层嵌套查询返回单值的子查询:例6.9:查询选修“数据库原理”的所有学生的学号Select 学号 From 选课 Where 课程号=;(Select 课程号 From 课程 Where 课程名=高等数
14、学),6.3.3 嵌套查询,返回一组值的子查询:通常使用运算符Any、All、INAny 运算符例6.10:查询选修“10021”课的学生中成绩比选修“10011”课的最低成绩高的学号的学号和成绩Select 学号,成绩 From 选课 Where 课程号=10021Select 学号,成绩 From 选课 Where 课程号=10011Select 学号,成绩 From 选课 Where 课程号=10021 And;成绩 Any(Select 成绩 From 选课 Where 课程号=10011),6.3.3 嵌套查询,返回一组值的子查询:通常使用运算符Any、All、INAll 运算符例6
15、.11:查询选修“10021”课的学生中成绩比选修“10011”课的最高成绩高的学号的学号和成绩Select 学号,成绩 From 选课 Where 课程号=10021Select 学号,成绩 From 选课 Where 课程号=10011Select 学号,成绩 From 选课 Where 课程号=10021 And;成绩 All(Select 成绩 From 选课 Where 课程号=10011),6.3.3 嵌套查询,返回一组值的子查询:通常使用运算符Any、All、ININ 运算符:=Any例6.12:查询选修“数据库原理”或“软件工程”课的所有学生学号Select 学号 From 选
16、课 Where 课程号 IN;(Select 课程号 From 课程 Where 课程名=大学英语;Or 课程名=高等数学),6.3.4 多表查询,等值联接:按对应字段的共同值将两个表中的记录相联接例6.13:写出如下操作的命令列出所有教师姓名及所教课程Select a.教师编号,a.姓名 As 教师姓名,b.课程名;From 教师 a,课程 b Where a.课程编号=b.课程号列出教“高等数学”课程的所有教师姓名Select a.教师编号,a.姓名 As 教师姓名,b.课程名;From 教师 a,课程 b;Where a.课程编号=b.课程号 And b.课程名=高等数学,6.3.4 多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 SQL 语言 应用

链接地址:https://www.31ppt.com/p-5659121.html