结构化查询语言(SQL)是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库言语。其功能不仅仅是查询,而是包括数据库模式创建、数据库数据的插入与修改、数据库安全性完整性定义与控制等一系列功能。
SQL集数据查询、数据操纵、数据定义、数据控制功能与一体。
综合统一:数据库系统的主要功能是通过数据库支持的数据语言来实现的。
非关系模型(层次模型,网状模型)的数据语言一般都分为:
(1)模式数据定义语言(DDL)
(2)外模式数据定义语言(外模式DDL)
(3)数据存储有关的语言(DSDL)
(4)数据操纵(DML)
!!!!!!!!!!
重点:
SQL操作要求:
1、定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库
2、对数据库中的数据进行查询和维护
3、数据库的重构和维护
4、数据库安全性、完整性控制,以及事物控制
5、嵌入式SQL和动态SQL定义
SQL功能 | 动词 |
---|---|
数据查询 | SELECT |
数据定义 | CREATE,DROP,ALTER |
数据操纵 | INSERT,UPDATE,DELETE |
数据控制 | GRANT,REVOKE |
数据定义
操作对象 | 创建 | 删除 | 修改 |
---|---|---|---|
模式 | CREATE SCHEMA | DROP SCHEMA | |
表 | CREATE TABLE | DROP TABLE | ALTER TABLE |
视图 | CREATE VIEW | DROP VIEW | |
索引 | CREATE INDEX | DROP INDEX | ALTER INDEX |
一、模式的定义和删除
(1)定义模式:
CREATE SCHEMA<模式名>AUTHORIZATION<用户名>
如果没有指定<模式名>,那么<模式名>隐含为<用户名>
例如:为用户WANG定义一个学生—课程模式S-T
CREATE SCHEMA S-T AUTHORIZATION WANG;
在CREATE SCHEMA中可以加入CREATE TABLE,CREATE VIEW和GRANT子句
即
CREATE SCHEMA <SCHEMA NAME>AUTHORIZATION<用户名>[<TABLE 定义子句>|<VIEW 定义子句> |<GRANT 定义子句>]
(2)删除模式:
DROP SCHEMA <NAME> <CASCADE (级联)|RESTRICT(限制)>(在写语句时二选一!!)
CASCADE:表示在 DROP SCHEMA的同时把该模式中所有的数据库对象全部删除
RESTRICT:表示如果该模式中已经定义了下属的数据库对象(如TABLE,VIEW),则拒绝该DROP SCHEMA 语句的执行!
二、基本表的定义、删除与修改
(1)定义基本表
创建了一个模式就是建立了一个数据库的命名空间,一个框架。在这个空间中首先要定义的是该模式包含的数据库基本表
CREATE TABLE(<列名><数据类型>[列级完整性约束条件],
<列名><数据类型>[列级完整性约束条件],
………………
<列名><数据类型>[列级完整性约束条件]);
例:创建一个学生表
CREATE TABLE stduent
(
Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
数据类型:
CHAR(n),长度为n的定长字符串
INT,长整数
SMALLINT,短整数
CLOB 字符串大对象
BLOB二进制大对象
BIGINT 大整数
DATE 日期 格式为YYYY-MM-DD
TIME 时间 格式为HH:MM:SS
TIMESTAMP 时间戳类型
INTERVAL 时间间隔类型
FLOAT(n) 精度至少为n位数字。
DOUBLE 双精度浮点数
修改基本表
ALTER TABLE<TABLE name>
[ADD[COLUMN]<新列名><数据类型>[完整性约束]]
[ADD<表级完整性>]
[DROP[COULUMN][CASCADE | RESTRICT]]
删除基本表
DROP TABLE <TABLE name>[CASCADE | RESTRICT]
三、索引建立和删除