数据库原理与系统开发教程第03章-关系数据库标准语言SQL课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库原理与系统开发教程第03章-关系数据库标准语言SQL课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 系统 开发 教程 03 关系 标准 语言 SQL 课件
- 资源描述:
-
1、数据库系统概论数据库系统概论An Introduction to Database System第三章第三章 关系数据库标准语言关系数据库标准语言SQLSQL“数据库原理及安全数据库原理及安全”课程课程关系数据库标准语言关系数据库标准语言SQL SQL l 结构化查询语言(Structured Query Language,SQL),是一种数据库查询和程序设计的编程语言,用于定义、查询、更新数据以及管理关系数据库系统。目前,SQL已成为关系数据库的标准语言。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君第三章第三章 关系数据库标准语言关系数据库标准语言SQL3
2、.1 SQL概述概述3.2 MySQL数据库简介数据库简介3.3 定义数据定义数据3.4 查询数据查询数据 3.5 更新数据更新数据3.6 视图视图3.7 小结小结2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1 SQL概述概述l SQL是最重要的关系数据库操作语言l SQL基本上独立于数据库本身使用的机器、网络、操作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。l SQL是一种交互式查询语言,允许用户直接查询存储数据,但它不是完整的程序语言,如它没有DO或FOR 类似的循环语句
3、,但它可以嵌入另一种语言中,也可以借用VB、C、Java等语言,通过调用级接口(Call Level Interface)直接发送到数据库管理系统。SQL基本上是域关系演算,但可以实现关系代数操作。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1 SQL概述概述l SQL包含以下6个部分v 1数据定义语言(Schema Data Definition Language,DDL)其语句包括动词CREATE和DROP。利用DDL在数据库中创建新表(CREAT TABLE)或删除表(DROP TABLE);为表加入索引等。DDL也是动作查询的一部分。v 2数据查
4、询语言(Data Query Language,DQL)其语句也称为“数据检索语句”,用于从表中获得数据,保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE、ORDER BY、GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。v 3数据操作语言(Data Manipulation Language,DML)其语句包括动词INSERT、UPDATE和DELETE,分别用于添加、修改和删除表中的行,也称为动作查询语言。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1 SQL概述概述l
5、SQL包含以下6个部分v 4数据控制语言(Data Control Language,DCL)它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。v 5事务处理语言(TPL)它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。v 6指针控制语言(CCL)它的语句像DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT一样用于对一个或多个表单独行的操作。2022年8月3日北京电
6、子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1 SQL概述概述3.1.1 SQL的产生与发展的产生与发展 3.1.2 SQL的基本概念的基本概念3.1.3 SQL的特点的特点2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1.1 SQL的产生与发展的产生与发展v在20世纪70年代初,IBM公司的San Jose和California研究实验室的 Edgar Codd发表将数据组成表格的应用原则(Codds Relational Algebra)。1974年,同一实验室的D.D.Chamberlin和R.F.Boyce研制出一套规范语言SEQU
7、EL(Structured English QUEry Language),并在1976年11月公布新版本的SQL(名叫SEQUEL/2)。1980年改名为SQL。1986年10月,美国ANSI公布了第一个SQL标准(SQL-86),后为国际标准化组织(ISO)采纳为国际标准。此后,ANSI不断修改和完善SQL,并在1989年第二次公布SQL标准(SQL-89)。1992年又公布SQL-92标准。v目前主要的关系数据库管理系统支持某些形式的SQL,大部分数据库管理系统能支持SQL-92标准中的大部分功能以及SQL-99、SQL-2003中的部分概念。许多数据库软件厂商对SQL基本命令集还进行了
8、不同程度的扩充和修改,也有所支持标准以外的一些功能的尝试。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1.2 SQL的基本概念的基本概念2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1.3 SQL的特点的特点v SQL是一种非过程化的语言,它允许在高层数据结构上操作,而不是对单个记录进行操作。用户在使用SQL的过程中,完全不用考虑数据的存储格式、数据存储路径等复杂问题。用户需要做的只是用SQL提出自己的需求,至于如何实现这些需求则是关系数据库管理系统的任务了。2022年8月3日北京电子科技学院计算机系北京电子科技学院
9、计算机系 张克君张克君SQL功能动 词数据定义CREATE、DROP、ALTER数据查询SELECT数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE表表3.1 SQL3.1 SQL的核心动词的核心动词3.1.3 SQL的特点的特点v 1集多种数据语言为一体数据查询语言(Data Query Language,DQL)、数据操纵语言(Data Manipulation Language,DML)、数据定义语言(Schema Data Definition Language,模式DDL),以及数据控制语言(Data Control Language,DCL)都可以用
10、SQL来实现。v 2统一的数据操作方式在关系模型中,实体与实体之间的联系用关系来表示,即实体和实体具有统一的数据结构,这种统一的数据结构使得对数据的增删查改只需一种操作符。v 3面向集合的操作方式SQL采用集合操作方式,每次增删查改的操作对象都可以是元组的集合。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.1.3 SQL的特点的特点v 4高度非过程化用SQL对数据进行操作,只需要知道想做什么并写出相应的SQL语句,而不需要知道该怎么做,存取路径的选择和SQL语句的操作过程全部由数据库关系系统自动完成。v 5一种语言,两种使用方式用户既可以在终端键盘上直接键
11、入SQL命令对数据库进行操作,也可以作为嵌入式语言,嵌入高级语言的程序中。这两种使用方式的语法基本一致。v 6语言易懂易学易用SQL非常接近日常生活中的英语,容易学习,并且它只用了9个动词就完成了数据定义、数据操作、数据控制的核心功能,语言简洁、容易使用。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1 SQL概述概述3.2 MySQL数据库简介数据库简介3.3 定义数据定义数据3.4 查询数据查询数据 3.5 更新数据更新数据3.6 视图视图3.7 小结小结2022年8月3日北京电子科技学院计算机系
12、北京电子科技学院计算机系 张克君张克君3.2 MySQL数据库简介数据库简介3.2.1 MySQL常用语句常用语句 3.2.2 MySQL的数据类型的数据类型2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.2.1 MySQL的常用语句的常用语句vMySQL中的常用语句如下。v(1)使用SHOW语句查找服务器当前存在的数据库SHOW DATABASES;SHOW DATABASES;v(2)创建一个数据库DBCREATE DATABASE DB;CREATE DATABASE DB;v(3)选择创建的数据库USE DB;USE DB;v(4)查看当前数据库中存
13、在的表SHOW TABLES;SHOW TABLES;v(5)显示表的结构DESCRIBE TB;DESCRIBE TB;2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.2.1 MySQL的常用语句的常用语句vMySQL中的常用语句如下。v(6)用文本方式将数据装入数据库表中(如D:/mysql.txt)LOAD DATA LOCAL INFILE D:/mysql.txt INTO TABLE TB;LOAD DATA LOCAL INFILE D:/mysql.txt INTO TABLE TB;v(7)导入.sql文件命令(如D:/mysql.sql)
14、USE DATAEBASE;USE DATAEBASE;SOURCE d:/mysql.sql;SOURCE d:/mysql.sql;v(8)删除表DROP TABLE TB;DROP TABLE TB;v(9)清空表DELETE FROM TB;DELETE FROM TB;2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.2.1 MySQL的常用语句的常用语句vMySQL中的常用语句如下。v(6)用文本方式将数据装入数据库表中(如D:/mysql.txt)LOAD DATA LOCAL INFILE D:/mysql.txt INTO TABLE TB;
15、LOAD DATA LOCAL INFILE D:/mysql.txt INTO TABLE TB;v(7)导入.sql文件命令(如D:/mysql.sql)USE DATAEBASE;USE DATAEBASE;SOURCE d:/mysql.sql;SOURCE d:/mysql.sql;v(8)删除表DROP TABLE TB;DROP TABLE TB;v(9)清空表DELETE FROM TB;DELETE FROM TB;2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.2.1 MySQL的常用语句的常用语句vMySQL中的常用语句如下。v(10)
16、全局管理权限对应解释FILE:在MySQL服务器上读写文件。PROCESS:显示或杀死属于其他用户的服务线程。RELOAD:重载访问控制表、刷新日志等。SHUTDOWN:关闭MySQL服务。v(11)数据库/数据表/数据列权限ALTER:修改已存在的数据表(如增加/删除列)和索引。CREATE:建立新的数据库或数据表。DELETE:删除表的记录。DROP:删除数据表或数据库。INSERT:增加表的记录。SELECT:显示/搜索表的记录。UPDATE:修改表中已存在的记录。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.2 MySQL数据库简介数据库简介3.2
17、.1 MySQL常用语句常用语句 3.2.2 MySQL的数据类型的数据类型2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.2.1 MySQL的数据类型的数据类型v数值类型2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君类型大小范围(有符号)范围(无符号)用途TINYINT1字节(128,127)(0,255)小整数值SMALLINT2字节(32768,32767)(0,65535)大整数值MEDIUMINT3字节(8388608,8388607)(0,16777215)大整数值INT或INTEGER4字节(214748364
18、8,2147483647)(0,4294967295)极大整数值BIGINT8字节(9233372036854775808,9233372036854775807)(0,18446744073709551615)小整数值FLOAT4字节(3.402823466E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402823466 351 E+38)0,(1.175 494 351 E-38,3.402823466 351 E+38)单精度浮点数值DOUBLE8字节(1.7976931348623157E+308,2.225 073 858 507
19、2014 E-308),0,(2.225 073 858 507 2014 E-308,1.7976931348623157E+308)0,(2.225 073 858 507 2014 E-308,1.7976931348623157E+308)双精度浮点数值DECIMAL对DECIMAL(M,D),如果MD,为M+2,否则为D+2依赖于M和D的值依赖于M和D的值小数值3.2.1 MySQL的数据类型的数据类型v字符串类型2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君类 型大 小用 途CHAR0255字节定长字符串VARCHAR0255字节变长字符串TINY
20、BLOB0255字节不超过255个字符的二进制字符串TINYTEXT0255字节短文本字符串BLOB065535字节二进制形式的长文本数据TEXT065535字节长文本数据MEDIUMELOB016 777 215字节二进制形式的中等长度文本数据MEDIUMTEXT016 777 215字节中等长度文本数据LOGNGBLOB04 294 967 295字节二进制形式的极大文本数据LONGTEXT04 294 967 295字节极大文本数据3.2.1 MySQL的数据类型的数据类型v日期和时间类型2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君类 型大小(字符)范
21、 围格 式用 途DATE31000-01-019999-12-31YYYY-MM-DD日期值TIME3-838:59:59 838:59:59HH:MM:SS时间值或持续时间YEAR119012155YYYY年份值DATETIME81000-01-01 00:00:009999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值TIMESTAMP81970-01-01 00:00:00/2037年某时YYYYMMDDHHMMSS混合日期和时间值,时间戳第三章第三章 关系数据库标准语言关系数据库标准语言3.1 SQL概述概述3.2 MySQL数据库简介数据库简介3
22、.3 定义数据定义数据3.4 查询数据查询数据 3.5 更新数据更新数据3.6 视图视图3.7 小结小结2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.3 定义数据定义数据3.3.1 创建与使用模式创建与使用模式 3.3.2 创建与使用基本表创建与使用基本表3.3.3 创建与使用索引创建与使用索引2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.3.1 创建与使用模式创建与使用模式v 1.创建模式例3-1 定义一个学生-课程模式S_T。CREATE SCHEMAS_T;CREATE SCHEMAS_T;在MySQL Work
23、bench中的具体操作如图所示。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.3.1 创建与使用模式创建与使用模式解释:一个数据库系统可能有多个数据库,而创建模式就是在同一个数据库系统中建立一个新的具体的数据库。举一个简单的例子,在自己的计算机安装了MySQL服务器,在自己计算机的MySQL服务器下,新建一个用户,之后这个用户创建了多个数据库,包括学生选课数据库、银行借贷款数据库、商场进出货数据库,这些不同的数据库就对应的模式。v 2.删除模式例3-2 删除模式S_T。DROP SCHEMA S_T CASCADE;DROP SCHEMA S_T CASC
24、ADE;解释:删除模式S_T的同时,该模式中的表也被删除。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.3.2 创建与使用基本表创建与使用基本表v 1.创建基本表例3-3 建立一个存储学生信息的表,包含学生的学号、姓名、性别、年龄、所属院系5个属性的信息,并且学号是主键,不能为空,值唯一。CREATE TABLE StudentCREATE TABLE Student(SnoSno VARCHAR(10)PRIMARY KEY,VARCHAR(10)PRIMARY KEY,SnameSname VARCHAR(5),VARCHAR(5),SsexSsex
25、VARCHAR(1),VARCHAR(1),Sage INT,Sage INT,SdepartmentVARCHARSdepartmentVARCHAR(10)(10););解释:一个数据库中,即在一个模式下可能有多个表。2022年8月3日北京电子科技学院计算机系北京电子科技学院计算机系 张克君张克君3.3.2 创建与使用基本表创建与使用基本表v 1.创建基本表例3-4 建立一个存储课程的表,包含课程的代号、课程名、选修课程、学分4个属性的信息,并且课程代号是主键,不能为空,值唯一,选修课程是外键,被参照表是存储课程的表,被参照列是课程的代号。CREATE TABLE CourseCREATE
展开阅读全文