会计学
1
数据库关系数据库标准(biāozhǔn)语言
第一页,共42页。
SQL概述(ɡài shù)
SQL的特点
综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。
高度非过程化:非关系数据模型的数据操纵语言是面向过程的语言,操作必须指明存取路径;而用SQL语言进行数据操作,只要提出“做什么(shén me)”,无须指明“怎么做”,因此无需了解存取路径。
面向集合的操作方式:非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录;而SQL语言采用的集合操作方式,不仅操作对象、查询结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
以同一种语法结构提供两种使用方法:SQL语言既是自含式语言,能独立地用于联机交互;又是嵌入式语言,能嵌入到高级语言中进行混合编程。
第1页/共42页
第二页,共42页。
语言简洁,易学易用:完成(wán chéng)核心功能只用9个动词:
第2页/共42页
第三页,共42页。
数 据 定 义
定义、修改与删除(shānchú)基本表
定义基本表
CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ] );
其中:表名为所要定义的基本表的名字,列名为组成该表的各个属性(列),列级完整性约束条件为涉及相应属性列的完整性约束条件,表级完整性约束条件为涉及一个或多个属性列的完整性约束条件。常用的完整性约束有:主码约束PRIMARY KEY、唯一性约束UNIQUE、非空值约束NOT NULL、参照完整性约束FOREIGN KEY REFERENCES。
第3页/共42页
第四页,共42页。
[例1]建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、系别Sdept五个属性组成。其中(qízhōng)学号不能为空,值是唯一的,并且姓名取值也唯一。
CREATE TABLE Student
(Sno CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20) UNIQUE, Ssex CHAR(1) ,
Sage INT,Sdept CHAR(15));
Sno
Sname
Ssex
Sage
Sdept
字符型,
长度为5,
不能为空
字符型,
长度为20
字符型
长度为1
整数
字符型
长度为15
第4页/共42页
第五页,共42页。
例:
CREATE TABLE cnst_example
(id INT NOT NULL,
name VARCHAR(10) NOT NULL,
salary MONEY NOT NULL
CONSTRAINT salary_cap CHECK (salary < 100000)
)
第5页/共42页
第六页,共42页。
CREATE TABLE jobs (
job_id smallint,
job_desc varchar(50) NOT NULL DEFAULT 'New Position - title not formalized yet',
min_lvl int NOT NULL CHECK (min_lvl >= 10),
max_lvl tinyint NOT NULL CHECK (max_lvl <= 250
) )
第6页/共42页
第七页,共42页。
CONSTRAINT FK_sales_backorder FOREIGN KEY (stor_id, ord_num, title_id) REFERENCES sales (stor_id, ord_num, title_id)
第7页/共42页
第八页,共42页。
修改基本表
ALTER TABLE <表名>
[ ADD <新列名> <数据类型> [ 完整性约束 ] ]
[ DROP <完整性约束名> ] [ DROP column <列名> ]
[ MODIFY <列名> <数据类型> ];
其中:表名为要修改的基本表,ADD子句为增加新列和新的完整性约束条件,DROP子句为删除指定的完整性约束条件,MODI
数据库关系数据库标准语言学习教案 来自淘豆网m.daumloan.com转载请标明出处.