数据库系统概论——第三章 关系数据库标准语言SQL
SQL概论
- SQL
结构化查询语言,是关系数据库的标准语言
SQL是一个通用的、功能极强的关系数据库语言。 - SQL标准的发展进程
SQL/86
SQL/89
SQL/92
SQL99
SQL2003 - SQL语言的特点
(1)综合统一:集数据定义语言DDL,护具操纵语言DML,数据控制语言DCL功能于一体。
(2)高度非过程化:菲关系数据模型的数据操纵语言“面向过程”,必须指定存取路径。
SQL只要提出“做什么”,无须了解存取路径。
(3)面向集合的操作方式
非关系数据模型采取面向记录的操作方式,操作多想是一个记录。
sql采取面向集合操作方式
操作对象、查询结果可以是元祖的集合,一次插入、删除、更新操作的对象可以是元祖的集合。
(4)以同一种语法结构提供各种使用方式
sql既是独立的语言,又是嵌入式语言(能够嵌入到高级语言程序中)
(5)语言简洁,易学易用
SQL功能极强,来完成核心功能只用9个动词
3. sql支持关系数据库三级模式结构
(1)基本表:本身独立存在的表,SQL中一个关系就对应一个基本表,一个(或多个)基本表对应一个存储文件,一个表可以带若干索引。
(2)存储文件:逻辑结构组成了关系数据库的内模式,物理结构对用户是隐藏的。
(3)视图:从一个或几个基本表导出的表,数据库中只存放视图的定于而不存放视图对应的数据,视图是一个虚表,用户可以在视图上再定义视图。
数据定义
模式定义
表定义
视图和索引定义
注释:(模式和视图不能修改)
mysql 创建,删除,使用数据库
-
创建数据库
-
删除数据库
-
选择数据库
SQL标准中定义和删除模式(mysql中数据库就是模式,以下语法在mysql中不适用)
-
定义模式
定义模式实际上定义了一个命名空间。
在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引。
-
删除模式
基本表的定义、删除与修改
- 创建表
- 删除表
如果要删除表上存在视图,那么选择级联删除,会直接删除;选择限制删除,会报错。
- 修改表:
(1) 修改列属性的类型
(2) 增加一个属性
(3) 增加一个约束
(4) 修改列名
(5) 删除列
模式与表(mysql中模式就是数据库,以下语法在mysql中不适用) - 每个表都数据一个某一个谋士
- 一个模式包含多个基本表
- 定义基本表所属模式
方法一:在表名中明显地给出模式名
方法二:在创建模式语句中同时创建表
方法三:设置所属模式 - 创建基本表(其他数据库对象也一样)时,若没有指定模式,系统根据搜素路径来确定该对象所属的模式
- 关系数据库管理系统会使用模式列表中第一个存在的模式作为数据库对象的模式名
- 若搜索路径中的模式名都不存在,系统将给出出错误
显示当前的搜索路径:
搜索路径的当前默认值是:$user,public - 数据库管理员用户可以设置搜索路径,然后定义基本表