【学习】第8章关系数据库标准语言SQLvisualfoxpro全套资料(计算机国家二级)_第1页
【学习】第8章关系数据库标准语言SQLvisualfoxpro全套资料(计算机国家二级)_第2页
【学习】第8章关系数据库标准语言SQLvisualfoxpro全套资料(计算机国家二级)_第3页
【学习】第8章关系数据库标准语言SQLvisualfoxpro全套资料(计算机国家二级)_第4页
【学习】第8章关系数据库标准语言SQLvisualfoxpro全套资料(计算机国家二级)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、化学化工学院Visual FoxPro课程没有最好,只有更好 第8章 结构化查询语言SQL化学化工学院Visual FoxPro课程没有最好,只有更好 8.1 SQL语言概述 SQL语言是数据库的标准语言,几乎所有的关系数据库管理系统都支持SQL标准。SQL语言的主要特点是:(1)高度集成化 SQL语言集数据定义、数据操纵、数据查询和数据控制功能于一体。(2)非过程化 SQL是一种非过程化的语言。(3)简洁易学 SQL语言完成数据定义(CREATE、DROP、ALTER)数据操纵(INSERT、UPDATE、DELETE)、数据控制(GRANT、REVOKE)和数据查询(SELECT)等核心功

2、能只用了9个命令动词;而且语法也接近英语自然语法。(4)用法灵活 SQL语言既能够以人机交互方式来使用,也可以嵌入到程序设计语言中以程序方式使用。化学化工学院Visual FoxPro课程没有最好,只有更好8.2 数据定义 标准SQL的数据定义功能非常广泛,包括数据库、表、视图、存储过程、规则及索引的定义等。数据定义语言由3个命令组成。(1)定义表:CREATE Table(2)修改表结构: ALTER Table(3)删除表:DROP Table化学化工学院Visual FoxPro课程没有最好,只有更好8.2.1 表的定义格式:CREATE TABLE|DBF (字段名 类型(宽度,小数位

3、数)NULL CHECK ERROR DEFAULT PRIMARY KEY|UNIQUE & 主索引|候选索引例如,定义一个名为“学生1.DBF”的数据库表: CREATE TABLE 学生1(学号 C(8) PRIMARY,; & 学号为主索引 姓名 C(8),性别 C(2) DEFUALT “男”,; & 性别的默认值为“男” 出生日期 D,系别 C(10),贷款否 L,简历 M,照片 G NULL)化学化工学院Visual FoxPro课程没有最好,只有更好8.2.2 表结构的修改(1)格式1:添加或修改字段 ALTER TABLE ADD|ALTER (宽度,

4、小数位数) CHECK ERROR PRIMARY KEY | UNIQUE例如, 在“成绩1”表中添加一个字段:平时成绩 N(5) ALTER TABLE 成绩1 ADD 平时成绩 N(5) 将平时成绩字段修改为 N(5,1) ALTER TABLE 成绩1 ALTER 平时成绩 N(5,1)化学化工学院Visual FoxPro课程没有最好,只有更好8.2.2 表结构的修改(2) 格式2:修改或删除默认值、字段有效性规则ALTER TABLE ALTER SET DEFAULT DROP DEFAULT SET CHECK DROP CHECK例如, 删除“成绩1”表中平时成绩字段的有效性

5、规则: ALTER TABLE 成绩1 ALTER 平时成绩 DROP CHECK 将平时成绩字段的默认值设置为80: ALTER TABLE 成绩1 ALTER 平时成绩 SET DEFAULT 80化学化工学院Visual FoxPro课程没有最好,只有更好8.2.2 表结构的修改(3)格式3:删除字段、更改字段名、设置记录有效性规则等ALTER TABLE DROP & 删除字段ENAME COLUMN TO & 更改字段名SET CHECK ERROR DROP CHECK & 设置或删除记录有效性规则ADD PRIMARY KEY TAG DROP PRIMA

6、RY KEY & 设置或删除主复合索引表达式 ADD UNIQUE TAG DROP UNIQUE & 设置或删除候选复合索引表达式 例:将“学生1”表中的“学号”字段更名为“学生证编号“ ALTER TABLE 学生1 RENAME COLUMN 学号 TO 学生证编号 对“学生1”表中的“姓名”和“出生日期”字段建立主索引 ALTER TABLE 学生1 ADD PRIMARY KEY 姓名+DTOC(出生日期) TAG 姓名_生日 化学化工学院Visual FoxPro课程没有最好,只有更好8.2.3 表的删除(3)删除表: DROP TABLE 例如,删除“学生1”表

7、DROP TABLE 学生1化学化工学院Visual FoxPro课程没有最好,只有更好8.3 数据操纵 (1)插入记录n 格式1:在表的尾部尾添加一条新记录 INSERT INTO (字段1,字段2,) VALUES (值1,值2,) 说明:插入所有字段值时,可省略 例如,向“学生1”表中添加两条记录: INSERT INTO 学生1 VALUES(“01020314”,”张红”,“男”,; 1982/07/01,”计算机”,.T.,”张红是北京人”,null) INSERT INTO 学生1(学号,姓名) VALUES(“01020315”,”李兰”)n 格式2:记录值来自数组或同名的内存

8、变量 INSERT INTO FROM ARRAY |FROM MEMVAR化学化工学院Visual FoxPro课程没有最好,只有更好8.3 数据操纵(2)删除记录 格式:DELETE FROM WHERE 说明:该命令执行的是逻辑删除操作。 例如,将“学生1”表中所有男生的记录逻辑删除: DELETE FOR 学生1 WHERE 性别 = “男”(3) 更新记录 格式:UPDATE SET = WHERE 例如,将“学生1”表中所有男生的“贷款否”字段改为“.T.” UPDATE 学生1 SET 贷款否 = .T. WHERE 性别 = “男” 化学化工学院Visual FoxPro课程没

9、有最好,只有更好8.4 数据查询 数据查询是SQL语言的核心,也称作SQL-SELECT命令。使用SQL-SELECT命令,可以对数据源进行各种组合,有效地筛选记录、管理数据、并对结果排序及指定输出去向等,无论查询多么复杂,其内容只有一条SELECT语句。 SQL-SELECT 命令可以进行多个查询块的嵌套查询,以完成更复杂的查询任务。化学化工学院Visual FoxPro课程没有最好,只有更好8.4 数据查询格式:SELECT DISTINCT TOP PERCENT . AS , . AS , FROM AS ,AS , INNER|LEFT|RIGHT|FULL JOIN ON INTO

10、 |TO FILE |TO PRINT WHERE AND GROUP BY HAVING ORDER BY , UNION SELECT 化学化工学院Visual FoxPro课程没有最好,只有更好8.4 数据查询1. 1. 基本查询基本查询:SELECTFROMWHERE 例如,从“学生”表中查询所有男生的学号、姓名和出生日期: SELECT 学号,姓名,出生日期 FROM 学生 WHERE 性别=“男”2. 2. 带特殊运算符的条件查询:带特殊运算符的条件查询:在 WHERE 子句所带的筛选条件表达式中可以使用一些特殊运算符,如 IN、BETWEENAND、LIKE 。 例如,查询成绩良

11、好(7585分)的学生和课程信息: SELECT * FROM 成绩 WHERE 成绩 BETWEEN 75 AND 85 3. 3. 排序查询:排序查询:使用 ORDER BY 子句,可以对查询结果按升序(ASC)或降序(DESC)排列。 例如,按课程号输出学生的各科成绩,同一门课按成绩降序排列: SELECT * FROM 成绩 ORDER BY 课程号, 成绩 DESC化学化工学院Visual FoxPro课程没有最好,只有更好8.4 数据查询4.4.计算与分组查询:计算与分组查询:使用 GROUP BY 子句可以实现分组查询,通常与计算查询(如计数、求和、求平均值等)结合使用,先按指定

12、的数据项分组,再对各组汇总计算。 例如,查询各门课程的平均成绩: SELECT 课程号,AVG(成绩) AS 平均成绩 FROM 成绩 GROUP BY 课程号5. 5. 多表查询:多表查询:多表查询时,表和表之间必须有联接关系,在WHERE子句中可以指定表间的联接关系。其格式为: . = . 或 . = .例如,查询各门课程的平均成绩,要求输出课程名和成绩信息: SELECT 课程名,AVG(成绩) AS 平均成绩 FROM 课程 KC,成绩 CJ;化学化工学院Visual FoxPro课程没有最好,只有更好8.4 数据查询6. 6. 联接查询联接查询:利用 FROMON 子句建立两表之间的

13、联接。 格式:FROM INNER | LEFT | RIGHT | FULL JION ON 说明:INNER JOIN(内部联接)、LEFT JOIN(左联接)、RIGHT JOIN(右联接)、FULL JOIN(全联接)的含义与 4.1.2 节中相同。 例如, 查询各门课程的平均成绩,要求输出课程名和成绩信息: SELECT 课程名,AVG(成绩) AS 平均成绩 FROM 课程 KC ; INNER JOIN 成绩 CJ; ON KC.课程号 = CJ.课程号 ;化学化工学院Visual FoxPro课程没有最好,只有更好8.4 数据查询7. 7. 嵌套查询:嵌套查询:在一个 SELECT 命令的 WHERE 子句中出现另一个 SELECT 命令(即子查询)。 子查询的结果必须是确定的值。 例如,查询李华同学所学课程的课程名和成绩: SELECT 课程名, 成绩 FROM 课程 KC, 成绩 CJ; WHERE KC.课程号 = CJ.课程号 ; AND CJ.学号 = (SELECT 学号 FROM 学生 WHERE 姓名 =“李华”) 子查询WHERE 子句中同时包含联接条件和筛选条件化学化工学院Visual FoxPro课程没有最好,只有更好8.4 数据查询8. 8. 查询输出:查询输出:查询结果默认显示在浏览窗口中,通过

温馨提示

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

评论

0/150

提交评论