第6章SQL语言课件

《第6章SQL语言课件》由会员分享,可在线阅读,更多相关《第6章SQL语言课件(49页珍藏版)》请在文档大全上搜索。
1、2022-6-11第第6 6章章 SQLSQL语言的应用语言的应用 6.1 SQL语言概述 6.2 数据定义 6.3 数据操纵6.4 数据查询2022-6-126.1 SQL语言概述 SQL(Structured Query Language,结构化查询语言)语言是集数据定义、数据查询、数据操纵和数据控制功能于一体的语言,具有功能丰富、使用灵活、语言简捷易学等特点。 SQL语言是一个非过程语言,它的大多数语句都是独立执行的,与上下文无关;通常一个语句完成一个特定的操作功能。 可以使用SQL完成各类查询的创建、表定义、表结构维护、表中记录操作等。实际上Visual FoxPro 的视图和查询就是
2、立足在SQL语言基础上建立的。2022-6-136.1.1 SQL语言的特点1. 1. 高度的综合高度的综合2. 2. 高度非过程化高度非过程化3. 3. 面向集合的操作方式面向集合的操作方式4. 4. 一种语法结构提供两种使用方式一种语法结构提供两种使用方式5. 5. 语言简洁,易学易用语言简洁,易学易用2022-6-146.2 数据定义 数据定义语言由CREATE、DROP和ALTER命令组成。这3个命令关键字针对不同的数据库对象分别有3个命令。例如针对表对象的3个命令是建表结构命令CREATE TABLE、修改表结构命令ALTER TABLE和删除表命令DROP TABLE。2022-6
3、-156.2.1 6.2.1 建立表结构建立表结构 命令格式: CREATE TABLE FREE ( (,) NULL|NOT NULLCHECKERRORDEFAULTPRIMARY KEY|UNIQUE , (,) NULL|NOT NULLCHECKERRORDEFAULT10 AND 年龄45 ERROR “年龄范围在1045,请重输入!”,党员否 L,入学年月 D DEFAULT CTOD(“09/01/2010” )2022-6-196.2.2 修改表结构1.1.语句格式:语句格式:Alter Table Add , DropConstraint|C0lumn, Alter ,;
4、2.2.语句功能:语句功能: 为指定的表的指定字段进行修改或添加、删除指定的字段。2022-6-1103.3.说明说明(1) 是指要修改表结构的表的名字。(2) Add子句用于增加新字段和新的完整性约束条件。(3) Drop子句用于删除指定的字段和完整性约束,当删除某一字段时,所有引用该字段的视图和约束也一起自动被删除。(4) Alter子句用于修改原有字段的定义,包括修改字段名、字段的宽度和字段的数据类型。2022-6-111 【例6.3】为成绩表添加两个字段:“平时”字段N (5,1)和“期中”字段 N (5,1)。ALTER TABLE 成绩 ADD 平时 N (5,1)ALTER TA
5、BLE 成绩 ADD 期中 N (5,1)其他操作案例参照教材P94-952022-6-1126.2.3 6.2.3 删除表删除表 当某个表不再需要时,可以使用Drop Table语句删除。1.1.语句格式:语句格式:Drop Table 2.2.语句功能:语句功能:删除以为名的表。3.3.说明说明 表一旦删除,表中的数据无法恢复,此时系统释放其占用的存储存空间,因此执行删除表的操作一定要格外小心。2022-6-1136.3 数据操纵6.3.1 插入记录 在表操作中,给表添加数据是常用的表操作,这里所介绍的插入数据语句是在表的尾部添加一个记录。在SQL语言中,插入数据使用Insert语句。1.
6、1.语句格式:语句格式:Insert Into (,) Values (,)2.2.语句功能:语句功能: 在指定的表尾添加一条新记录,其值为VALUES后面表达式的值。2022-6-114【例6.8】向学生.DBF表中添加记录。INSERT INTO 学生 (学号, 姓名,年龄); VALUES(“9902101”,”李成功”,17)INSERT INTO 学生 VALUES(“9902102”,;”李明”,”男”,18, .F. ,CTOD(“03/24/2009”) )2022-6-1156.3.2 删除记录1.1.语句格式:语句格式:Delete From Where 2.2.语句功能:
7、语句功能:在以为名的表中,根据指定的条件逻辑删除记录。2022-6-116【例6.9】将学生.DBF表所有男生的记录逻辑删除。 DELETE FROM 学生 WHERE 性别=“男” 完成以上操作后,在学生.DBF表将所有男生的记录逻辑删除了,但没有从物理上删除。只有执行了PACK命令,逻辑删除的记录才真正地从物理上删除。逻辑删除的记录还可以用RECALL命令取消删除。2022-6-1176.3.3 更新记录1.1.语句格式:语句格式:Update Set = ,= , Where 2.2.语句功能:语句功能:更新以为名的表中数据。2022-6-118【例6.10】将学生.DBF表所有99级学
8、生“入学年月”置为1999/09/10。UPDATE 学生 SET 入学年月= 1999/09/10; WHERE LEFT(学号,2) =”99”2022-6-1196.4 数据查询 SQL语言最主要的功能就是查询功能,它提供的Select语句用于检索和显示一个或多个数据库表中数据,Select语句功能强大,使用方式非常灵活,可用一个语句实现关系代数中的选择、投影和连接运算。 Select语句的基本结构的SELECTFROMWHERE,它包含输出字段、数据来源、查询条件等子句。在这种固定格式中,可以不要WHERE,但是SELECT和FROM是必备的。2022-6-1201.1.语句格式:语句
9、格式:Select All|Distinct | , From Left Right Join On Where INTO|TO FILE ADDITIVETO PRINTER PROMPT|TO SCREENGroup By Having UNIONALLSELECT 命令Order By Asc Desc(注:为简明扼要,还有部分选项未列出)2022-6-1212.2.语句功能:语句功能: 从指定的基本表或视图中,创建一个由指定范围内、满足条件、按某字段分组、按某字段排序的指定字段组成的新记录集。3.3.说明说明(请参照(请参照P97P97页)页)2022-6-122查询计算函数的格式及功
10、能查询计算函数的格式及功能 函数格式 函数功能 COUNT(*)计算记录个数SUM(字段名)求字段名所指定字段值的总和AVG(字段名)求字段名所指定字段的平均值MAX(字段名)求字段名所指定字段的最大值MIN(字段名)求字段名所指定字段的最小值2022-6-1236.4.1 基本查询1.1.检索表中所有的记录和字段检索表中所有的记录和字段【例6.11】利用学生表中的数据创建一个查询,其结果包含学生表的所有字段。操作命令如下:SELECT * FROM 学生 命令中的*表示输出所有字段,数据来源是学生.dbf表,表中所有的内容以浏览方式显示。2022-6-1242.2.检索表中指定的字段检索表中
11、指定的字段【例6.12】利用学生表中的数据创建一个查询,其结果包含学号、姓名、性别、出生日期、专业和入学成绩6个字段,即检索数据表中指定的字段。操作命令如下: SELECT 学号,姓名,性别,出生日期,专业,;入学成绩 FROM 学生2022-6-1253.3.检索表中指定的字段和产生新字段检索表中指定的字段和产生新字段【例6.13】利用学生表中的数据创建一个查询,其结果包含学号、姓名、性别,并增加一个年龄字段,即检索数据表中指定的字段和产生新字段。操作命令如下: SELECT 学号,姓名,性别,year(date()-year(出生;日期) AS 年龄 FROM 学生2022-6-1266.