关系数据库标准语言——SQL
数据库系统原理
2014-2-9
第5章
关系数据库标准语言—SQL
5.1 SQL概述及特点
5.2 数据定义语句5.3 数据查询语句
5.4 数据更新语句5.5 嵌入式SQL 5.6 数据控制机制和语句
5.1
SQL概述及特点
1. SQL的主要功能 (1) 数据定义功能 定义关系数据库的模式、外模式和内模式,以实 现对基本表、视图以及索引文件的定义、修改和删除等 操作。 (2) 数据操纵功能 包括数据查询和数据更新两种数据操作语句:数据 查询指对数据库中的数据查询、统计、分组、排序操作; 数据更新指数据的插入、删除、修改等数据维护操作。 (3) 数据控制功能 通过对数据库用户的授权和收权命令来实现有关数 据的存取控制,以保证数据库的安全性。
2. SQL的特点(1) SQL具有自含式和嵌入式两种形式。(2) SQL具有语言简洁、易学易用的特点。 (3) SQL支持三级模式结构。① 全体基本表构成了数据库的模式。 ② 视图和部分基本表构成了数据库的外模式。
③ 数据库的存储文件和它们的索引文件构成了关系数据库的内模式。
5.25.2.1
数据定义语句
基本表的定义和维护
1. 定义基本表 定义基本表语句的一般格式为:
CREATE TABLE [〈库名〉]〈表名〉(〈列名〉〈数据类型〉[〈列级完整性约束条件〉] , 〈列名〉〈数据类型〉[〈列级完整性约束条件〉]] [, n] [,〈表级完整性约束条件〉]
[, n] );
(1) SQL支持的数据类型类型表示 类型说明
SMALLINT数值型 数据 INTEGER或INT
半字长二进制整数。15bits数据全字长(四字长)整数。31bits数据 十进制数,共p位,其中小数点后q位。 0≤q≤p,q=0时可省略不写 双字长浮点数 长度为n的定长字符串 最大长度为n的变长字符串 长度为n的定长图形字符串 最大长度为n的变长图形字符串 日期型,格式为YYYY-MM-DD 时间型,格式为HH.MM.SS 日期加时间
DECIMAL(p[,q])FLOAT
字符型 数据
CHARTER(n)或 CHAR(n) VARCHAR(n) GRAPHIC(n) VARGRAPHIC(n) DATE
特殊数据类型
日期时 间型
TIME TIMESTAMP
(2) 列级完整性的约束条件针对属性值设置的限制条件。 1) NOT NULL或NULL约束。NOT NULL约束不允许字段值为空,
而NULL约束允许字段值为空。2) UNIQUE约束。惟一性约束,即不允许列中出现重复的属 性值。
3) DEFAULT约束。默认值约束。DEFAULT〈约束名〉〈默认值〉FOR〈列名〉 4) CHECK约束。检查约束。 CONSTRAINT〈约束名〉CHECK (〈约束条件表达式〉)
(3) 表级完整性约束条件 涉及到关系中多个列的限制条件。 1) UNIQUE约束。惟一性约束。 2) PRIMARY KEY约束。定义主码,保证惟一性和非空性。
CONTRAINT〈约束名〉PRIMARY KEY [CLUSTERED] (〈列组〉) 3) FOREIGN KEY约束。用于定义参照完整性。 CONTRAINT〈约束
名〉FOREIGN KEY(〈外码〉) REFERENCES〈被参照表名〉(〈与外码对应的主码名〉)
建立基本表: 学生(学号,姓名,年龄,性别,所在系); 【例5-1】 课程(课程号,课程名,先行课); 选课(学号,课程号,成 绩).
CREATE TABLE 学生(学号 CHAR(5) NOT NULL UNIQUE, 姓名 CHAR(8) NOT NULL,年龄 SMALLINT, 性别 CHAR(2),所在系 CHAR(20), DEFAULT C1 20 FOR 年龄, CONSTRAINT C2 CHECK(性别 IN (‘男’,‘女’))); CREATE TABLE 课程(课程号 CHAR(5) PRIMARY KEY, 课程名 CHAR(20),先行课 CHAR(5)); CREATE TABLE 选课(学号 CHAR(5),课程号 CHAR(5), 成绩 SMALLINT, CONSTRAINT C3 CHECK(成绩 BETWEEN 0 AND 100), CONSTRAINT C4 PRIMARY KEY(学号,课程号), CONSTRAINT C5 FOREIGN KEY(学号) REFERENCES 学生(学号), CONSTRAINT C6 FOREIGN KEY(课程号) REFERENCES 课程(课程号));
2. 修改基本表和删除基本表ALTER TABLE〈表名〉 [ADD(〈新列名〉〈数据类型〉[完整性约束] [,… n])] [DROP〈完整性约束名〉] [MODIFY(〈列名〉〈数据类型〉[,…n])]; (1) 使用ADD子句增加新列 【例5-2】向课程表中增加“学时”字段。 ALTER TABLE 课程 ADD 学时 SMALLINT; (2) 使用MODIFY子句修改列的原定义 (3) 使用DROP子句删除指定的完整性约束条件 【例5-3】删除学生表中对年龄的默认值的定义。 ALTER TABLE 学生 DROP C1; 删除基本表的一般格式为: DROP TABLE〈表名〉;
5.2.2
索引的定义和维护
1. 索引的作用 1) 使用索引可以明显地加快数据查询的速度。 2) 使用索引可保证数据的惟一性。 3) 使用索引可以加快连接速度。 2. 建立索引的原则 1) 索引的建立和维护由DBA和DBMS完成。 2) 大表应当建索引,小表则不必建索引。 3) 对于一个基本表,不要建立过多的索引。 4) 根据查询要求建索引。
3. 建立和删除索引的格式建立格式为: CREATE [UNIQUE] [CLUSTER] INDEX 〈索引名〉 ON〈表名〉 (〈列名〉[〈次序〉][,〈列名〉[〈次序〉]]…); 删除索引格式为: DROP INDEX 〈索引名〉; 【例5-4】为学生_课程数据库中的学生、课程和选课三个表建 立索引。其中,学生表按学号升序建立索引;课程表按课程 号升序建惟一索引;选课表按学号升序和课程号降序建惟一 索引。 CREATE UNIQUE INDEX 学号ON 学生(学号); CREATE UNIQUE INDEX 课程号 ON 课程(课程号); CREATE UNIQUE INDEX 选课号 ON 选课(学号 ASC,课程号 D ESC);
5.2.3
视图的定义和维护
1. 视图的优点 1) 视图能够简化用户的操作。 2) 视图机制可以使用户以不同的方式看待同一数据。 3) 视图对数据库的重构提供了一定程度的逻辑独立性。 4) 视图可以对机密的数据提供安全保护。2. 视图定义的格式 一般格式为: CREATE VIEW〈视图名〉[(列名组)] AS〈子查询〉 [WITH CHECK OPT
ION];
视图举例【例5-6】建立计算机系学生的视图。 CREATE VIEW 计算机系学生 AS SELECT 学号,姓名,年龄 FROM 学生 WHERE 所在系=‘计算机系’; 【例5-7】由学生、课程和选课三个表,定义一个计算机系的 学生成绩视图,其属性包括学号、姓名、课程名和成绩。CREATE VIEW 学生成绩(学号,姓名,课程名,成绩) AS SELECT 学生.学号,学生.姓名,课程.课程名,选课.成绩
FORM
学生,课程,选课AND 学生.所在系='计算机系';
WHERE 学生.学号=选课.学号 AND 程.课程名=选课.课程号
3. 视图的删除 、查询和维护视图删除语句的一般格式为: DROP VIEW〈视图名〉; 视图可以和基本表一样被查询,其使用方法与基本表 相同,但利用视图进行数据增、删、改操作,会受到 一定的限制。
5.35.3.1
数据查询语句数据查询的基本语法
1. SELECT语句的语法
SELECT〈目标列组〉FROM〈数据源〉 [WHERE〈元组选择条件〉] [GROUP BY〈分列组〉[HAVING 〈组选择条件〉]] [ORDER BY〈排序列1〉〈排序要求1〉 [,…n]];
语法说明(1) SELECT子句:指明目标列(字段、表达式、函数表达式、 常量)。基本表中相同的列名表示为:〈表名〉.〈列名〉 (2) FROM子句:指明数据源。表间用“,”分割。数据源不在 当前数据库中,使用“〈数据库名〉.〈表名〉”表示。一表 多用,用别名标识。定义表别名:〈表名〉〈别名〉 (3) WHERE子句:元组选择条件。
(4) GROUP BY子句:结果集分组。当目标列中有统计函数,则 统计为分组统计,否则为对整个结果集统计。子句后带上HA VING子句表达组选择条件(带函数的表达式)。 (5) ORDER BY 子句:排序 …… 此处隐藏:2658字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




