数据处理与SQL课件_第1页
数据处理与SQL课件_第2页
数据处理与SQL课件_第3页
数据处理与SQL课件_第4页
数据处理与SQL课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4章章 数据处理与数据处理与SQL 2021-10-22第第4章章 数据处理与数据处理与SQL 4.1 4.1 查询文件的创建和使用查询文件的创建和使用 4.2 4.2 结构化查询语言(结构化查询语言(SQLSQL) 4.3 4.3 视图的创建和使用视图的创建和使用 第第4章章 数据处理与数据处理与SQL 2021-10-224.1 查询文件的创建和使用查询文件的创建和使用4.1.1 4.1.1 利用查询设计器创建查询利用查询设计器创建查询4.1.2 4.1.2 查询文件的修改查询文件的修改4.1.3 4.1.3 利用查询向导创建查询利用查询向导创建查询 三种方法创建查询文件:三种方法创建

2、查询文件: 使用查询设计器使用查询设计器 使用查询向导使用查询向导 直接编写直接编写SELECT-SQLSELECT-SQL语句(语句(4.24.2介绍)介绍)第第4章章 数据处理与数据处理与SQL 2021-10-224.1.1 4.1.1 利用查询设计器创建查询利用查询设计器创建查询 (1)(1)启动查询设计器启动查询设计器 常用方法:常用方法:v使用使用项目管理器项目管理器:打开项目管理器,在:打开项目管理器,在“数据数据”选选项卡中选定项卡中选定“查询查询”后单击后单击“新建新建” ” v从从“文件文件”菜单菜单或或常用工具栏常用工具栏选择选择“新建新建”v使用命令:使用命令:CREA

3、TE QUERYCREATE QUERY第第4章章 数据处理与数据处理与SQL 2021-10-224.1.1 4.1.1 利用查询设计器创建查询利用查询设计器创建查询 (2) (2) 添加数据源添加数据源 查询设计器被启动的同时弹出查询设计器被启动的同时弹出“添加表或视添加表或视图图”对话框,用于添加查询的数据源。对话框,用于添加查询的数据源。 第第4章章 数据处理与数据处理与SQL 2021-10-22(3)(3)在查询设计器中建立查询在查询设计器中建立查询v “字段字段”选项卡:选项卡:指定查询输出列指定查询输出列v “ “联接联接”选项卡:选项卡:设置表之间的联接关系设置表之间的联接关

4、系v “筛选筛选”选项卡:选项卡:指定记录筛选的条件指定记录筛选的条件v “排序依据排序依据”选项卡:选项卡:指定记录排序的依据指定记录排序的依据v “ “分组依据分组依据”选项卡:选项卡:指定记录分组的依据指定记录分组的依据v “杂项杂项”选项卡:选项卡:设置查询结果中可否包含重设置查询结果中可否包含重复的记录,以及对查询记录的数目进行限制复的记录,以及对查询记录的数目进行限制 4.1.1 4.1.1 利用查询设计器创建查询利用查询设计器创建查询 第第4章章 数据处理与数据处理与SQL 2021-10-224.1.1 4.1.1 利用查询设计器创建查询利用查询设计器创建查询(4)(4)保存查

5、询文件保存查询文件(扩展名为扩展名为QPRQPR) 常用方法:从常用方法:从“文件文件”菜单或常用工具栏选择菜单或常用工具栏选择“保保存存”(5)(5)运行查询文件,查看查询结果运行查询文件,查看查询结果 常用方法:常用方法:v“查询,运行查询查询,运行查询” ” 或或常用工具栏中的常用工具栏中的“运行运行”v使用项目管理器使用项目管理器v使用命令:使用命令:DO QUERY DO QUERY 第第4章章 数据处理与数据处理与SQL 2021-10-224.1.1 4.1.1 利用查询设计器创建查询利用查询设计器创建查询 例例4.14.1(单表查询)(单表查询) 查询查询studentstud

6、ent表中各专业非定向学生的表中各专业非定向学生的入学平均分,并按专业的升序显示。入学平均分,并按专业的升序显示。 第第4章章 数据处理与数据处理与SQL 2021-10-224.1.1 4.1.1 利用查询设计器创建查询利用查询设计器创建查询 例例4.24.2(多表查询)(多表查询) 根据根据studentstudent表和表和gradegrade表,查询选修表,查询选修“02001”02001”课程的所有学生的学号,姓名和课程的所有学生的学号,姓名和成绩,并按成绩的降序显示。成绩,并按成绩的降序显示。第第4章章 数据处理与数据处理与SQL 2021-10-224.1.2 4.1.2 查询文

7、件的修改查询文件的修改打开查询文件的常用方法打开查询文件的常用方法v使用使用项目管理器项目管理器(若查询文件已建在某一项目中)(若查询文件已建在某一项目中)v从从“文件文件”菜单菜单或或常用工具栏选择常用工具栏选择“打开打开”v使用使用命令命令:MODIFY QUERY QPRMODIFY QUERY 第第4章章 数据处理与数据处理与SQL 2021-10-224.1.2 4.1.2 查询文件的修改查询文件的修改选择查询结果的输出去向选择查询结果的输出去向 常用方法常用方法:“查询,查询去向查询,查询去向” 或或: “: “查询设计器查询设计器”工具栏中的工具栏中的 “ “查询去查询去向向”

8、七种输出去向:七种输出去向:第第4章章 数据处理与数据处理与SQL 2021-10-224.1.3 4.1.3 利用查询向导创建查询利用查询向导创建查询 查询向导类型查询向导类型v查询向导:查询向导:创建标准的单表或多表查询,在浏览创建标准的单表或多表查询,在浏览窗口中显示查询结果窗口中显示查询结果 打开查询向导常用操作:打开查询向导常用操作: l使用项目管理器使用项目管理器l使用使用“文件文件”菜单、菜单、“工具工具”菜单或常用工具栏菜单或常用工具栏v交叉表向导交叉表向导 (了解)(了解)v图形向导图形向导 (了解)(了解)第第4章章 数据处理与数据处理与SQL 2021-10-22结构化查

9、询语言结构化查询语言SQLSQL-Structured Query Language-Structured Query Language) SQLSQL特点:特点:v一体化一体化 v高度非过程化高度非过程化v简洁但功能强大简洁但功能强大 v关系数据库系统的国际标准语言关系数据库系统的国际标准语言 4.2 4.2 结构化查询语言(结构化查询语言(SQL) 第第4章章 数据处理与数据处理与SQL 2021-10-22 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句 4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句 4.2.3 4.2.3 数据操纵功能及语句数据操纵功能及语

10、句 4.2 4.2 结构化查询语言(结构化查询语言(SQL) 第第4章章 数据处理与数据处理与SQL 2021-10-22SQLSQL的核心是数据查询语句的核心是数据查询语句SELECT-SQLSELECT-SQL。通过通过“查询设计器查询设计器”或或“查询向导查询向导”生成的查生成的查询文件内容就是一条询文件内容就是一条SELECT-SQLSELECT-SQL语句。语句。在在“查询设计器查询设计器”环境中查看当前查询文件内环境中查看当前查询文件内 SECTCT-SQLSECTCT-SQL语句的方法:语句的方法: “ “查询,查看查询,查看SQL” SQL” 或或 “ “查询设计器查询设计器”

11、工具栏中的工具栏中的 “ “显示显示SQLSQL窗口窗口”4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-224.2.1 4.2.1 数据查询功能及语句数据查询功能及语句例例4.14.1的的SQLSQL语句语句例例4.24.2的的SQLSQL语句语句第第4章章 数据处理与数据处理与SQL 2021-10-221.单表查询的一般格式SELECT ALL | DISTINCT , FROM ,WHERE GROUP BY HAVING ORDER BY ASC | DESC输出列输出列数据来源数据来源记录筛选条记录筛选条件件记录分

12、组的依据记录分组的依据记录排序的依据记录排序的依据ALLALL表示所有记录,是默认值,常常省略表示所有记录,是默认值,常常省略distinctdistinct用于从查询结用于从查询结果中筛去重复值。果中筛去重复值。第第4章章 数据处理与数据处理与SQL 2021-10-224.2.1 4.2.1 数据查询功能及语句数据查询功能及语句 TO PRINTER| FILE TO PRINTER| FILE INTO TABLE INTO TABLE | | 注注: 该命令若分行输入该命令若分行输入,需在每行需在每行(结束行除外结束行除外)行行末加续行标记末加续行标记“;”第第4章章 数据处理与数据处

13、理与SQL 2021-10-22 无条件查询select from 查询指定表中所有记录的全部字段内容 select * from 查询指定表中所有记录的部分字段内容 select from 第第4章章 数据处理与数据处理与SQL 2021-10-22例1:查询student表中所有的记录 SELECT * FROM student第第4章章 数据处理与数据处理与SQL 2021-10-22例2:查询student表中所有学生的姓名和入学总入学总分分 SELECT SELECT 姓名姓名, ,入学总分入学总分 FROM studentFROM student第第4章章 数据处理与数据处理与SQ

14、L 2021-10-22例3. 查询student表中所有专业(要求重复值只选一个) SELECT SELECT 专业专业 FROM studentFROM student不符合不符合要求要求第第4章章 数据处理与数据处理与SQL 2021-10-22正确的命令为: SELECT DISTINCT 专业 FROM student第第4章章 数据处理与数据处理与SQL 2021-10-22 条件查询 SELECT 列名表 FROM 表名 WHERE 条件表达式 条件表达式是由常量、变量和函数通过运算符连接起来的式子,其结果为一个是/否型的数据第第4章章 数据处理与数据处理与SQL 2021-10

15、-22条件表达式的几种表达形式:u关系表达式u逻辑表达式u字段 NOT LIKE 字符串通配式u字段 NOT BETWEEN 值1 AND 值2u字段 NOT IN (值列表)u字段 IS NOT NULL第第4章章 数据处理与数据处理与SQL 2021-10-22u关系表达式l关系运算符:l关系运算符两边的值必须类型一致。 表示大于 = =表示大于等于 表示小于 = =表示小于等于 = =表示等于 表示不等于第第4章章 数据处理与数据处理与SQL 2021-10-22例4.查询student表中入学总分大于等于560分的学生姓名和入学总分SELECT SELECT 姓名姓名, ,入学总分入学

16、总分 FROM student;FROM student; WHERE WHERE 入学总分入学总分=560 =560 第第4章章 数据处理与数据处理与SQL 2021-10-22例5.查询student表中女生信息 SELECT SELECT * * FROM student; FROM student; WHERE WHERE 性别性别=女女 字符型常量要字符型常量要用用或或 括起括起第第4章章 数据处理与数据处理与SQL 2021-10-22例6.查询student表中1987年4月12日出生的学生信息SELECT SELECT * * FROM student; FROM studen

17、t; WHERE WHERE 入学时间入学时间=1987/04/12=1987/04/12日期型常量要日期型常量要用用括起括起第第4章章 数据处理与数据处理与SQL 2021-10-22u逻辑表达式 多个条件用AND、OR、NOT组合成逻辑表达式 逻辑运算符: AND OR NOT 例7.查询student表中汉语言文学专业的男生和工商管理专业的女生的学号和姓名 第第4章章 数据处理与数据处理与SQL 2021-10-22例7.查询student表中汉语言文学专业的男生和工商管理专业的女生的学号和姓名 SELECT 学号,姓名; FROM STUDENT;WHERE 专业= 工商管理工商管理

18、AND 性别=女女 ; OR 专业= 汉语言文学汉语言文学 AND 性别=男男第第4章章 数据处理与数据处理与SQL 2021-10-22u字段 NOT LIKE 字符串通配式例例9.9._表示单个表示单个任意字符。任意字符。例例8.8.查询查询studentstudent表中表中姓陈姓陈的学生信息的学生信息 SELECT SELECT * * FROM student; FROM student; WHERE WHERE 姓名姓名 LIKE LIKE 陈陈% % 通配式中的通配式中的% %表示表示0 0到任意个任意字符。到任意个任意字符。 SELECT SELECT * * FROM stu

19、dent; FROM student; WHERE WHERE 学号学号 LIKE LIKE _1%_1% 第第4章章 数据处理与数据处理与SQL 2021-10-22u字段字段 NOT BETWEEN NOT BETWEEN 值值1 AND 1 AND 值值2 2等价于:出生日期等价于:出生日期=1986/01/01 AND AND 出生日期出生日期=1986/12/31 等价于:等价于:成绩成绩60 or 8484 例例10.10.查询查询studentstudent表中表中8686年到年到8787年出生的学生信息年出生的学生信息 SELECT SELECT * * FROM studen

20、t; FROM student; WHERE WHERE 出生日期出生日期 BETWEEN 1986/01/01;BETWEEN 1986/01/01; AND 1986/12/31 AND 1986/12/31 例例11.11.查询查询gradegrade表中成绩不及格和优秀的学生信息表中成绩不及格和优秀的学生信息 SELECT SELECT * * FROM grade; FROM grade; WHERE WHERE 成绩成绩 NOT BETWEEN 60 AND 84NOT BETWEEN 60 AND 84第第4章章 数据处理与数据处理与SQL 2021-10-22u字段 NOT I

21、N (值列表) 例12.查询student表中专业为汉语言文学和工商管理的学生信息 SELECT * FROM student; WHERE 专业 IN (汉语言文学,工商管理)等价于:专业等价于:专业=汉语言文学 OR OR 专业专业=工商管理 第第4章章 数据处理与数据处理与SQL 2021-10-22统计查询 输出列为:统计函数名(列名) AS 列标题 SQL统计函数:统计函数: count (列名列名):列值个数,不包含为空的值列值个数,不包含为空的值 count (*):元组个数元组个数 sum(列名列名):列值总和列值总和 avg(列名列名):列值平均值列值平均值 max(列名列名

22、):列值中的最大值列值中的最大值 min(列名列名):列值中的最小值列值中的最小值 第第4章章 数据处理与数据处理与SQL 2021-10-22例13.统计student表中男生人数 SELECT COUNT(*) AS 人数; FROM student; WHERE 性别=男 例14.统计student表中入学总分的总额、平均值及最高值 SELECT SUM(入学总分) as 入学总分总和,; AVG(入学总分) as 平均入学总分,; MAX(入学总分) as 最高入学总分; FROM student 第第4章章 数据处理与数据处理与SQL 2021-10-22输出列为: AS 输出列为:

23、 AS例15:查询各学生的学号、姓名、学校、专业,出生年份。(学校的内容都是“福州大学”) SELECT 学号,姓名,福州大学福州大学 AS 学校,; 专业,year(出生日期) as 出生年份; FROM STUDENT第第4章章 数据处理与数据处理与SQL 2021-10-22分组查询SELECT 列名表 FROM 表名 WHERE 条件 GROUP BY 分组依据例例16.16.按专业查询按专业查询stustu表中各专业学生的人数表中各专业学生的人数 SELECT SELECT 专业专业,COUNT(,COUNT(* *) FROM STUDENT;) FROM STUDENT; GRO

24、UP BY GROUP BY 专业专业例例17.17. 按性别对入学总分进行汇总,求出性别相同记按性别对入学总分进行汇总,求出性别相同记录的平均入学总分录的平均入学总分SELECT SELECT 性别性别, AVG(, AVG(入学总分入学总分) FROM student;) FROM student; GROUP BY GROUP BY 性别性别第第4章章 数据处理与数据处理与SQL 2021-10-22例18.计算grade表中各学生的总成绩 SELECT 学号,SUM(成绩) FROM grade; GROUP BY 学号例19.查询grade表中各学生及格的科目的总成绩 SELECT

25、学号,SUM(成绩) FROM grade; WHERE 成绩60; GROUP BY 学号 第第4章章 数据处理与数据处理与SQL 2021-10-22 SELECT 列名表 FROM 表名WHERE 条件 ORDER BY 排序依据 ASC/DESC 例20.查询grade表的学号和成绩,要求按照成绩的升序排名 SELECT 学号,成绩 FROM grade; ORDER BY 成绩 ASC 例21.显示成绩在后5名的学生 SELECT TOP 5 学号,成绩 FROM grade; ORDER BY 成绩 ASC查询的结果进行排序前前DESC升序升序ASCASC可省可省注意:注意:TOP

26、TOP必须和必须和ORDER BYORDER BY联用联用第第4章章 数据处理与数据处理与SQL 2021-10-22例22: 查询显示STUDENT表中所有学生的学号姓名和年龄并按年龄由小到大排列SELECT 学号,姓名,;YEAR(DATE()-YEAR(出生日期) AS 年龄;FROM STUDENT;ORDER BY 年龄第第4章章 数据处理与数据处理与SQL 2021-10-22联接查询联接查询 (四种类型四种类型): 内部联接:内部联接:连接结果由左表和右表中满足联接条连接结果由左表和右表中满足联接条件的记录组成,是最常用的联接类型件的记录组成,是最常用的联接类型 左联接:左联接:

27、 包含左表全部记录及右表中满足联接条件的记录包含左表全部记录及右表中满足联接条件的记录 右联接:右联接: 包含右表全部记录及左表中满足联接条件的记录包含右表全部记录及左表中满足联接条件的记录 完全联接:完全联接:包含两个表的全部记录包含两个表的全部记录 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-222.多表联接查询 SELECT FROM INNER JOIN ON 第二种写法: SELECT FROM , WHERE 其中联接条件的写法为: 表1.关键字段表2.关键字段第第4章章 数据处理与数据处理与SQL 2021-

28、10-22例例2323:查询所有学生的学号、姓名以及成绩查询所有学生的学号、姓名以及成绩Select student.Select student.学号学号, ,姓名姓名, ,成绩成绩; ;from student,grade;from student,grade;Where student.Where student.学号学号=grade.=grade.学号学号 Select student.Select student.学号学号, ,姓名姓名, ,成绩成绩; ; from student; from student; inner join grade on student. inner j

29、oin grade on student.学号学号=grade.=grade.学学号号第第4章章 数据处理与数据处理与SQL 2021-10-22例例2424:查询选修查询选修T99009T99009教师的所有学生的学号、姓教师的所有学生的学号、姓名、教师号以及成绩名、教师号以及成绩Select student.Select student.学号学号, ,姓名姓名, ,教师号教师号, ,成绩成绩; ;from student,grade;from student,grade;Where student.Where student.学号学号=grade.=grade.学号学号; ; and an

30、d 教师号教师号= =T99009T99009第第4章章 数据处理与数据处理与SQL 2021-10-22例例25 25 查询所有学生各门课程的成绩信息,查询所有学生各门课程的成绩信息,包括学号、姓名、课程号、课程名、学分和包括学号、姓名、课程号、课程名、学分和成绩,并按学号从小到大顺序排列,学号相成绩,并按学号从小到大顺序排列,学号相同的记录按课程号从小到大顺序排列。同的记录按课程号从小到大顺序排列。 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22 SELECT STUDENT.SELECT STUDENT.学号学号,

31、 ,姓名姓名,GRADE.,GRADE.课程号课程号,;,; 课程名课程名, ,学分学分, ,成绩成绩; ; FROM STUDENT,GRADE,COURSE; FROM STUDENT,GRADE,COURSE; WHERE STUDENT. WHERE STUDENT.学号学号=GRADE.=GRADE.学号学号 AND AND ; ; GRADE.GRADE.课程号课程号= COURSE.= COURSE.课程号课程号; ; ORDER BY STUDENT. ORDER BY STUDENT.学号学号,COURSE.,COURSE.课程号课程号4.2.1 4.2.1 数据查询功能及语

32、句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22例例25 25 用用INNER JOININNER JOIN实现:实现: SELECT STUDENT.SELECT STUDENT.学号学号, ,姓名姓名,GRADE.,GRADE.课程号课程号,;,; 课程名课程名, ,学分学分, ,成绩成绩; ; FROM STUDENT; FROM STUDENT; INNER JOIN GRADE; INNER JOIN GRADE; INNER JOIN COURSE; INNER JOIN COURSE; ON GRADE. ON GRADE.课程号课程号= COUR

33、SE.= COURSE.课程号课程号; ; ON STUDENT. ON STUDENT.学号学号=GRADE.=GRADE.学号学号; ; ORDER BY STUDENT. ORDER BY STUDENT.学号学号,COURSE.,COURSE.课程号课程号4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22(2)两表左联接、右联接或完全联接查询两表左联接、右联接或完全联接查询 SELECT SELECT FROM FROM 1 IEFT|RIGHT|FULL JOIN IEFT|RIGHT|FULL JOIN ON O

34、N 例例 根据根据COLLEGE表和表和STUDENT表,查询所有学院的表,查询所有学院的学生信息,包括学院名称、学号和姓名。如果某个学学生信息,包括学院名称、学号和姓名。如果某个学院无学生,也要显示该学院的名称。院无学生,也要显示该学院的名称。 SELECT SELECT 学院名称学院名称, ,学号学号, ,姓名姓名; ; FROM COLLEGE LEFT JOIN STUDENT ; FROM COLLEGE LEFT JOIN STUDENT ; ON ON 学院代码学院代码=LEFT(=LEFT(学号学号,2) ,2) 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第

35、4章章 数据处理与数据处理与SQL 2021-10-22嵌套查询:嵌套查询:在一个在一个SELECT-SQL语句的语句的WHERE子句中嵌入另一个子句中嵌入另一个SELECT-SQL语句。语句。外层查询称为父查询,内层查询称为子查询。外层查询称为父查询,内层查询称为子查询。 常用格式:常用格式: SELECT SELECT FROM FROM WHERE WHERE IN IN ( SELECT ( SELECT FROM FROM WHERE WHERE ) ) 功能:功能:首先执行子查询,其结果构成一个集合,然后从父表首先执行子查询,其结果构成一个集合,然后从父表中查询指定字段值属于该集合

36、的记录中查询指定字段值属于该集合的记录。 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22例例4.29 根据根据STUDENT表和表和GRADE表,查询有不及格表,查询有不及格成绩的学生学号和姓名。成绩的学生学号和姓名。 SELECT SELECT 学号学号, ,姓名姓名 FROM STUDENT;FROM STUDENT; WHERE WHERE 学号学号 IN IN ; ; (SELECT (SELECT 学号学号 FROM GRADE WHERE FROM GRADE WHERE 成绩成绩60)60)可用联接查询实现

37、:可用联接查询实现: SELECT DISTINCT STUDENT.SELECT DISTINCT STUDENT.学号学号, ,姓名姓名; ; FROM STUDENT,GRADE; FROM STUDENT,GRADE; WHERE STUDENT. WHERE STUDENT.学号学号=GRADE.=GRADE.学号学号 AND AND 成绩成绩60604.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22查询输出去向查询输出去向 SELECT-SQLSELECT-SQL语句默认输出到浏览窗口语句默认输出到浏览窗口, ,

38、可通可通过过INTOINTO或或TOTO子句改变输出去向。子句改变输出去向。 vINTO ARRAY INTO ARRAY vINTO CURSOR INTO CURSOR vINTO TABLE INTO TABLE vTO FILE TO FILE ADDITIVE ADDITIVE vTO PRINTER TO PRINTER vTO SCREEN TO SCREEN 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22(1)(1)INTO ARRAY INTO ARRAY 将查询结果存放到指定的二维数组中,每行存放一将

39、查询结果存放到指定的二维数组中,每行存放一条记录,每列对应于查询结果的一列。条记录,每列对应于查询结果的一列。例例4.30 4.30 从从STUDENTSTUDENT表中查出所有专业名称(不重复),表中查出所有专业名称(不重复),并将查询结果保存在数组并将查询结果保存在数组ZYZY中。中。 SELECT DISTINCT SELECT DISTINCT 专业专业 FROM STUDENT ;FROM STUDENT ; INTO ARRAY ZY INTO ARRAY ZY 注:注:若查出若查出4 4个专业名称,则分别存放在数组元素个专业名称,则分别存放在数组元素ZY(1,1)ZY(1,1)、

40、ZY(1,2)ZY(1,2)、ZY(1,3)ZY(1,3)、ZY(1,4)ZY(1,4)中,也可看作一维数组元素中,也可看作一维数组元素ZY(1)ZY(1)、ZY(2)ZY(2)、ZY(3)ZY(3)、ZY(4)ZY(4) 。 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22(2)(2)INTO TABLE DBFINTO TABLE 将查询结果保存到指定的自由表文件(将查询结果保存到指定的自由表文件(.DBF.DBF)中。)中。自动作为当前表打开着(但不打开浏览窗口)自动作为当前表打开着(但不打开浏览窗口)例例4.31

41、4.31 对对STUDENTSTUDENT表按专业统计平均入学总分表按专业统计平均入学总分, ,并将统并将统计结果保存在计结果保存在ZYHZZYHZ表中。表中。 SELECT SELECT 专业专业, AVG(, AVG(入学总分入学总分);); FROM STUDENT; FROM STUDENT; GROUP BY GROUP BY 专业专业; ; INTO TABLE ZYHZ INTO TABLE ZYHZ 4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22(3)(3)INTO CURSOR INTO CURSOR

42、将查询结果保存到指定的只读临时表中将查询结果保存到指定的只读临时表中, , 自自动作为当前表打开在内存(但不打开浏览窗动作为当前表打开在内存(但不打开浏览窗口),一旦关闭该表则自动删除。口),一旦关闭该表则自动删除。4.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-224.2.1 4.2.1 数据查询功能及语句数据查询功能及语句例例4.32 4.32 根据根据STUDENTSTUDENT、COURSECOURSE和和GRADEGRADE表,查询学号表,查询学号为为“0305001”0305001”的学生的姓名、所学课程名及成绩,

43、的学生的姓名、所学课程名及成绩,并将查询结果保存在临时表并将查询结果保存在临时表TEMPTEMP中。中。 SELECT SELECT 姓名姓名, ,课程名课程名, ,成绩成绩; ; FROM STUDENT,COURSE,GRADE ; FROM STUDENT,COURSE,GRADE ; WHERE STUDENT. WHERE STUDENT.学号学号=GRADE.=GRADE.学号学号 ; ; AND COURSE. AND COURSE.课程号课程号=GRADE.=GRADE.课程号课程号 ; ; AND STUDENT. AND STUDENT.学号学号=0305001 ;=030

44、5001 ; INTO CURSOR TEMP 第第4章章 数据处理与数据处理与SQL 2021-10-22(4)(4)TO FILE TO FILE ADDITIVE ADDITIVE 将查询结果保存到指定的文本文件(将查询结果保存到指定的文本文件(.TXT.TXT)中。)中。ADDITIVEADDITIVE选项表示追加式存入。选项表示追加式存入。(5)(5)TO PRINTERTO PRINTER 将查询结果直接输出到打印机。将查询结果直接输出到打印机。 (6)(6)TO SCREENTO SCREEN 将查询结果直接显示在将查询结果直接显示在VFPVFP的系统主窗口中。的系统主窗口中。4

45、.2.1 4.2.1 数据查询功能及语句数据查询功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-221.1.创建表结构语句创建表结构语句: : CREATE TABLE-SQLCREATE TABLE-SQL ( (了解了解) )CREATE TABLE CREATE TABLE FREE FREE( ( (,) ) , (,) ) ,)例如例如: : CREATE TABLE STUDENT_NEW ;CREATE TABLE STUDENT_NEW ; ( (学号学号 C(7),C(7),姓名姓名 C(8),C(8),出生日期出生日期 D,;D,; 定向否定向否 L,L,

46、入学总分入学总分 N(6,1),N(6,1),简历简历 M)M)4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22字段级约束选项 含义PRIMARY KEYPRIMARY KEY以本字段为关键字创建与本字段同名的主以本字段为关键字创建与本字段同名的主索引,要求本字段值不为空且无重复索引,要求本字段值不为空且无重复 UNIQUEUNIQUE以本字段为关键字创建与本字段同名的候以本字段为关键字创建与本字段同名的候选索引,要求本字段值不为空且无重复选索引,要求本字段值不为空且无重复 NULLNULL允许本字段接受空值。若已指定本字

47、段为允许本字段接受空值。若已指定本字段为主索引或候选索引字段,则该选项不能用。主索引或候选索引字段,则该选项不能用。默认为默认为NOT NULLNOT NULL CHECK CHECK ERROR 指定本字段的默认值,其数据类型必须和指定本字段的默认值,其数据类型必须和字段的数据类型一致字段的数据类型一致 4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22表级约束选项 含义CHECK CHECK ERROR ERROR 设置记录的有效性规则,当输入的字设置记录的有效性规则,当输入的字段值不符合此规则时,段值不符合此规则时,V

48、isual FoxPro显示给定的提示信息显示给定的提示信息 PRIMARY KEY PRIMARY KEY TAG 按关键字建立主索引。关键字可以是按关键字建立主索引。关键字可以是表中一个字段或字段组合;如果已直表中一个字段或字段组合;如果已直接在某字段后指定了接在某字段后指定了PRIMARY KEY,则不能再用该子句则不能再用该子句 UNIQUEUNIQUE TAG 按关键字建立候选索引按关键字建立候选索引 4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22例例4.34 4.34 在在“教学管理教学管理”数据库中创建数据

49、库中创建TESTTEST表,表表,表结构如下:学号结构如下:学号( (字符型字符型,7),7)、课程号、课程号( (字符型字符型,5),5)、考试时间考试时间( (日期型日期型, ,可为空可为空) )、考试地点、考试地点( (字符型字符型,10,10,可为空可为空) ),并以学号,并以学号+ +课程号为索引表达式建立名课程号为索引表达式建立名为为SCSC的候选索引。的候选索引。 OPEN DATABASE OPEN DATABASE 教学管理教学管理 CREATE TABLE TEST;CREATE TABLE TEST; ( (学号学号 C(7), C(7), 课程号课程号 C(5),C(5

50、),考试时间考试时间 D NULL,;D NULL,; 考试地点考试地点 C(10) NULL,;C(10) NULL,; UNIQUE UNIQUE 学号学号+ +课程号课程号 TAG SC)TAG SC)4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-222.2.修改表结构语句修改表结构语句: : ALTER TABLE-SQLALTER TABLE-SQL ( (了解了解) )(1) (1) 添加新字段添加新字段 ALTER TABLE ALTER TABLE ADD ADD (,) ) (2) (2) 删除或修改字段名

51、删除或修改字段名 ALTER TABLE ALTER TABLE DROP DROP RENAME RENAME TO TO 4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22(3)(3)重设已有字段的类型、宽度和部分字段级约束重设已有字段的类型、宽度和部分字段级约束 ALTER TABLE ALTER TABLE ALTER ALTER (,) PRIMARY KEY UNIQUE PRIMARY KEY UNIQUE NULL NOT NULLNULL NOT NULL4.2.2 4.2.2 数据定义功能及语句数据定义功

52、能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22(4)(4)重设或删除已有字段的有效性规则和默认值重设或删除已有字段的有效性规则和默认值 ALTER TABLE ALTER TABLE ALTER ALTER SET DEFAULT SET DEFAULT DROP DEFAULT DROP DEFAULT SET SET CHECK CHECK ERROR ERROR DROP CHECKDROP CHECK NULL NOT NULLNULL NOT NULL4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-1

53、0-22(5)(5)重设或删除表级约束重设或删除表级约束 ALTER TABLE ALTER TABLE SET CHECK SET CHECK ERROR ERROR DROP CHECK DROP CHECK ADD PRIMARY KEY ADD PRIMARY KEY TAG TAG DROP PRIMARY KEY DROP PRIMARY KEY ADD UNIQUE ADD UNIQUE TAG TAG DROP UNIQUE TAG DROP UNIQUE TAG 4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-10

54、-223.3.删除表语句删除表语句: : DROP TABLE-SQLDROP TABLE-SQL 删除表结构和数据,不可恢复删除表结构和数据,不可恢复 DROP TABLE DROP TABLE 例例4.38 4.38 删除删除“教学管理教学管理”数据库中的数据库中的TESTTEST表。表。 OPEN DATABASE OPEN DATABASE 教学管理教学管理 DROP TABLE TESTDROP TABLE TEST4.2.2 4.2.2 数据定义功能及语句数据定义功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-221.1.记录插入语句:记录插入语句:INSERT-

55、SQLINSERT-SQL INSERT INTO INSERT INTO (,)2,) VALUES ( VALUES (, )2, )4.2.3 4.2.3 数据操纵功能及语句数据操纵功能及语句若按表中字段排列顺序依次给若按表中字段排列顺序依次给新记录新记录各个各个字段赋值,可缺省字段赋值,可缺省字段名表字段名表第第4章章 数据处理与数据处理与SQL 2021-10-224.2.3 4.2.3 数据操纵功能及语句数据操纵功能及语句例例4.39 4.39 向向TEACHERTEACHER表追加一条新记录:教师号表追加一条新记录:教师号“T66101”T66101”,姓名,姓名“王小明王小明”

56、,职称,职称“讲师讲师”,学院代,学院代码码“03”03”。 INSERT INTO TEACHER(INSERT INTO TEACHER(教师号教师号, ,姓名姓名, ,职称职称, ,学院代码学院代码);); VALUES(T66101, VALUES(T66101,王小明王小明,讲师讲师,03),03)或或: : INSERT INTO TEACHER ;INSERT INTO TEACHER ; VALUES(T66101, VALUES(T66101,王小明王小明,讲师讲师,03),03)第第4章章 数据处理与数据处理与SQL 2021-10-22 2. 2. 记录逻辑删除语句记录逻

57、辑删除语句: : DELETE-SQLDELETE-SQL DELETE FROM DELETE FROM WHERE WHERE 例例4.40 4.40 将将TEACHERTEACHER表中表中0303学院的教师记录逻辑删除。学院的教师记录逻辑删除。 DELETE FROM TEACHER WHERE DELETE FROM TEACHER WHERE 学院代码学院代码=03=034.2.3 4.2.3 数据操纵功能及语句数据操纵功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22 3. 3. 记录更新语句:记录更新语句:UPDATE-SQLUPDATE-SQL UPDAT

58、E UPDATE SET SET =1 , ,=,2, WHERE WHERE 例例4.41 4.41 将将TEACHERTEACHER表中张明的职称改为表中张明的职称改为“教授教授”。 UPDATE TEACHER SET UPDATE TEACHER SET 职称职称=教授教授; WHERE WHERE 姓名姓名=张明张明 4.2.3 4.2.3 数据操纵功能及语句数据操纵功能及语句第第4章章 数据处理与数据处理与SQL 2021-10-22视图是从数据表或其他视图中检索出所需数视图是从数据表或其他视图中检索出所需数据而形成的一个据而形成的一个虚拟表。虚拟表。视图视图依赖于数据表而存在依赖于数据表而存在,且必须存在于数,且必须存在于数据库中。据库中。使用视图既可以查询需要的数据,也使用视图既可以查询需要的数据,也可更新可更新数据并保存到源表中数据并保存到源表中。视图可以分为视图可以分为本地视图和远程视图本地视图和远程视图。4.3 4.3 视图的创建和使用视图的创建和使用 第第4章章 数据处理与数据处理与SQL 2021-10-224.3 4.3 视图的创建和使用视图的创建和使用 4.3.1 4.3.1 创建本地视图创建本地视图4.3.2 4.3.2 用视

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论