5.4 结构化查询语言.pptx
结构化查询语言;;关系数据库系统的数据语言有多种,
但在经过多年的使用、竞争和更新后,SQL
语言已成为国际标准化组织(ISO)所确认的
关系数据库系统所使用的唯一数据语言。
用该语言所书写的程序可以在任何关
系数据库系统上运行。;结构化查询语言的特点
(1)综合统一
在关系模型中实体和实体间的联系均用关
系表示,查找、插入、删除、更新等操作都只
需一种操作符。
(2)高度非过程化
在采用SQL语言进行数据操作时,只要提
出“做什么”,而不必指明“怎么做”,其他
工作由系统完成。;(3)以同一种语法结构提供两种使用方法
一种是联机交互使用方式,在此种方式下,
SQL可以独立使用,称为自含式语言。
另一种是嵌入式使用方式,在此种方式下,
它以某些高级程序设计语言(如JAVA、C等)
为宿主语言,而SQL则被称为嵌入式语言。;(4)支持三级模式结构
SQL语言支持关系数据库三级模式结构。
其中:
◆视图对应的是外模式;
◆大多数基本表对应的是概念模式;
◆数据库的存储文件、索引文件构成关系
数据库的内模式。;数据定义功能
定义基本表、修改基本表、删除基本表。
数据查询功能
单表查询、多表连接查询。
数据操作功能
数据的插入、修改、删除操作。
数据控制功能
(安全性、完整性、数据并发控制等);数据定义功能;例:以创建学生成绩管理系统为例,使用SQL语句建立一个学生信息表,它由“学号”、“姓名”、“性别”、“籍贯”四个属性组成。其中学号不能为空,值是唯一的。
CREATETABLE学生信息
(学号CHAR(5)NOTNULLUNIQUE,
姓名CHAR(8),
性别CHAR(2),
籍贯CHAR(50));2、修改基本表
在创建了一个基本表以后,可以使用
ALTERTABLE语句对表的结构进行修改。;例:为学生信息表中,增加出生日期字段;修改籍贯字段数据
类型为TEXT;删除出生日期字段。;3、删除基本表
若删除一个表,可使用DROPTABLE语句。
功能:删除指定表及其数据。
例:删除已存在的学生信息表
DROPTABLE学生信息;数据库查询是数据库的核心操作。SQL语言提供
了SELECT语句进行数据库的查询,其一般格式为:
SELECT[ALL|DISTINCT]目标列[,目标列]
FROM参与查询的表
[WHERE查询的条件]
[GROUPBY分组列][HAVING分组条件]
[ORDERBY排序列[ASC∣DESC]];;1、单表查询
例:查询全体学生的学号和姓名。
SELECT学号,姓名
FROM学生信息
例:查询选修课程编号为“010101”的学生的学号和成绩。
SELECT学号,成绩
FROM选课信息
WHERE课程编号=010101’
;例:查询所有课程信息,并按学时降序排列。
SELECT*
FROM课程信息
ORDERBY学时DESC
例:查询选修2门及两门以上课程的学生学号。
SELECT学号
FROM选课信息
GROUPBY学号
HAVINGCOUNT(*)2;2、多表连接查询
例:查询出成绩高于90分的学生的学号和姓名。
SELECT学生.学号,姓名
FROM学生信息,选课信息
WHERE学生信息.学号=选课信息.学号AND成绩90;数据操纵功能;例:向学生信息表中添加新记录。
INSERTINTO学生信息
VALUES(‘201904’,‘张红’,‘女’,’哈尔滨);数据操纵功能;例:将学生信息表学号为“201908”的学生姓名改为“赵鑫”。
UPDATE学生信息
SET姓名=赵鑫
WHERE学号=201908’
例:将所有课程的学分加1。
UPDATE课程信息
SET学分=学分+1;数据操纵功能;3、DELETE命令
例:删除学生信息表中姓名为“赵鑫”的学生记录。
DELETEFROM学生信息
WHERE姓名=赵鑫;