缩写 | 全称 | 中文 | 简介 |
---|---|---|---|
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 又是嵌入式语言,能嵌入到 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 权限。
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 (限制)表示如果该模式下已经定义了数据库对象, 则拒绝执行删除操作。
drop schema Test cascade;