术语表

缩写 全称 中文 简介
SQL Structured Query Language 结构化查询语言 关系型数据库的标准语言,集数据查询、数据操纵、 数据定义和数据控制的功能于一体
ANSI American National Standard Institute 美国国家标准局
ISO International Organization for Standardization 国际标准化组织

概述

SQL 是关系型数据库的标准语言,简单易学,功能丰富,被各大数据库厂商采用。 SQL 原名 Sequel,1974 年由 Boyce 和 Chamberlin 提出,并在 IBM 公司的关系型数据库管理系统原型 System R 上实现。 1986 年 10 月,ANSI 颁布 SQL-86 标准。1987 年,ISO 也通过了这一标准。

SQL 的特点

综合统一

高度非过程化

非关系型数据库的语言是“面向过程”的。使用 SQL,只需指出 “做什么” 而无须指明 “怎么做”,从而无需了解存取路径等细节。 这减轻了用户负担,也有利于提高数据独立性。

面向集合的操作方式

非关系型数据库的操作方式是面向记录的,通常要说明具体处理过程, 如存取路径,如何循环等。而 SQL 采用集合操作方式,增、删、改、 查的操作对象均可以是元组的集合。

以同一种语法结构提供多种使用方式

SQL 是独立的语言,它能以交互的方式独立地使用, 用户可以在终端通过键盘输入 SQL 命令对数据库进行操作。 SQL 又是嵌入式语言,能嵌入到 C、C++、Java 等高级语言的程序中。 在两种不同的使用情境下,SQL 语法结构基本上一致

语言简洁,易学易用

数据定义

模式 (schema)、(基本)表 (table)、视图 (view)、索引 (index) 是关系型数据库常见的四种对象。 四大对象支持创建 (create) 与删除 (delete) 操作, 其中表和索引还支持修改 (alter) 操作。

这些对象适用关系型数据库的三级模式结构模型。 其中视图对应于关系数据库的外模式,基本表对应于关系型数据库的模式, 而数据在计算机上的存储文件对应于关系型数据库的内模式。

各数据库对象之间的层次关系是:一个数据库系统实例中可建立多个数据库, 一个数据库中可建立多个模式,一个模式下可建立多个表、视图和索引。

模式

定义模式

create schema [schemaName] authorization userName
[create table ... | create view ... | grant ...]

schemaName 缺省时,取 userName 值。 创建模式需要 root 权限或 root 授予的 create schema 权限。

为用户 Wang 定义一个学生-课程模式 "S-C"。

create schema "S-C" authorization Wang;

为用户 Zhang 创建一个模式 Test, 并在其中定义表 Tab1。

create schema Test authorization Zhang
create table Tab1 (
	col1 smallint,
	col2 int,
	col3 char(20),
	col4 numeric(10,3),
	col5 decimal(5,2)
);

删除模式

drop schema schemaName [cascade | restrict];

cascade (级联)表示在删除模式的同时,删除其下属的所有对象, 如表、视图等。restrict (限制)表示如果该模式下已经定义了数据库对象, 则拒绝执行删除操作。

删除模式 Test,以及其下属的表 Tab1。

drop schema Test cascade;

基本表

数据查询

数据更新

视图

建立与删除

查询

更新

视图的作用