数据库及SQL语言介绍.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
给用户授权
❖ GRANT db-privilege TO {PUBLIC | user-list}
撤销权限
❖ REVOKE {tab-privilege ON table-name | db-privilege} FROM {PUBLIC |user-list}
db-privilege
CONNECT RESOURCE
❖ SELECT ❖ FROM PERSON ❖ WHERE name LIKE ‘abc%’
数据查询语言QL – ORDER BY子句
ORDER BY可以有一个或多个元素(order_by_list)
多个元素,用逗号分开
能以升序(ASC)或降序(DESC)排列
空值排序
❖ 并非所有系统都用相同方式 ❖ sql-92规定:空值应大于所有非空值或小于所有非
VALUES(‘1234567890’,’张三‘,1,’20080101’,1,’男’‘beijing”)
语法
DELETE FROM table-name WHERE search_contitions
示例
DELETE FROM PERSON Where id=‘12345’
DDL-删除记录
语法
据库管理系统原型System R实施了这种语言 SQL-86是第一个SQL标准 SQL-89、SQL-92(SQL2)、SQL-99(SQL3) 商用产品支持情况
❖ 大部分DBMS产品都支持SQL,成为操作数据库的 标准语言
❖ 有方言,支持程度不同
SQL语言的形式
交互式SQL
❖ 一般DBMS都提供联机交互工具 ❖ 用户可直接键入SQL命令对数据库进行操作 ❖ 由DBMS来进行解释
语法
CREATE [UNIQUE] INDEX index-name ON table-name(column_name[,column_name])
示例
create index NAME_PERSON_INDEX on PERSON(name); create unique index ID_PERSON_INDEX on PERSON(id);
语法
DROP TABLE table-name DROP INDEX index-name
示例
DROP TABLE PERSON DROP INDEX ID_PERSON_INDEX
DDL - 删除表、索引
数据操纵语言DML
数据操纵语言用来添加、修改、删除数据库中 的数据记录(行)
❖ INSERT语句:添加新的数据(记录)到数据库 ❖ UPDATE语句:修改数据库中现有的行 ❖ DELETE语句:删除数据库中现有的行
嵌入式SQL
❖ 能将SQL语句嵌入到高级语言(宿主语言,如C) ❖ 使应用程序充分利用SQL访问数据库的能力、宿主语
言的过程处理能力 ❖ 一般需要预编译,将嵌入的SQL语句转化为宿主语言
编译器能处理的语句
SQL语言的功能(分类)
从功能上分为4种类型,一共用了9个动词
❖ 数据查询语言QL ❖ 数据定义语言DDL ❖ 数据操纵语言DML ❖ 数据控制语言DCL
❖ SELECT ❖ FROM PERSON ❖ WHERE province IN(‘beijing’,’shanghai’)
未知值(IS NULL、IS NOT NULL)
❖ SELECT ❖ FROM PERSON ❖ WHERE province IS NULL
字符匹配(LIKE、NOT LIKE)
SQL功能 数据查询 数据定义 数据操纵 数据控制
动词 SELECT CREATE、DROP、ALTER INSERT、DELETE、MODIFY GRANT、REVOKE
数据定义语言DDL
数据定义语言用来创建、修改、删除数据库中 的各种实体,如:数据库(Database),表 (Table)、视图(View)、索引(Index)、同义词 (Synonym)、存储过程(procedure)等
数据库系统:用于组织和存取大量数据(信息) 的管理系统;方便多用户使用计算机软、硬件 资源的系统;
最终用户
数据库系统构成
应用程序员
应用系统 应用开发工具
DBMS 操作系统
数据库
数据库管理员 DBA
数据库系统的特点
相对于文件系统,数据库系统有如下特点:
❖ 数据、程序的独立性 ❖ 数据的充分共享 ❖ 有效地访问数据 ❖ 减少应用程序的开发时间 ❖ 数据的一致性和安全性 ❖ 统一的数据管理 ❖ 并发的数据访问
示例
create table Person
(
id
char(20) not null,
name char(32) not null,
age integer
birth char(16) not null,
sex char(4)
province char(10)
);
DDL - 创建新表
DDL - 创建索引
UPDATE table-name SET column_name=expression [WHERE search_contiditions]
示例
UPDATE PERSON SET name=‘abc’ WHERE id=‘12345’
DDL - 更新记录Hale Waihona Puke Baidu
数据查询语言QL – 概述
语法
SELECT select_list 确定检索的列 FROM table_list/view_list 指定列所在的表/视图 WHERE search_contiditions 选择、限定要查看的行 [ORDER BY order_by_list]
DBA
数据控制语言DCL – 权限列表
tab-privilege
ALTER DELETE INDEX INSERT EXECUTE
逻辑运算符(AND、OR、NOT)
❖ SELECT ❖ FROM PERSON ❖ WHERE age > 10 AND age=‘男’
范围(BETWEEN、NOT BETWEEN)
❖ SELECT ❖ FROM PERSON ❖ WHERE age BETWEEN 10 AND 20
列表(IN、NOT IN)
表中每一列为一个属性,有固定的数据类型,对应一个 实体的某个特征
身份证号 12345 54321
姓名 张三 李司
性别 男 女
年龄 34 21
出生年月 197906 198907
SQL语言的发展
1974年,由Boyce和Chamberlin提出 1975~1979,IBM San Jose Research Lab的关系数
数据模型
数据模型
❖ 数据库系统的核心 ❖ 对客观事物及其联系的数据的描述 ❖ 实体模型的数据化,表示实体之间的联系的模型
当前流行的数据模型:
❖ 关系 ❖ 层次 ❖ 网状
关系数据模型
将数据抽象成一个或多个表,一组有关联的表组成一个 数据库,这些表相互独立,没有任何层次、物理关系
表中每一行为一条记录,描述一条数据或信息,对应一 个实体的具体值
示例
SELECT * FROM table/view_list
SELECT column_name[,column_name]… FROM table/view_list
数据查询语言QL – WHERE子句
比较运算符(=、<、>、>=、<=、<>)
❖ SELECT ❖ FROM PERSON ❖ WHERE age > 10
DML – 添加记录
语法
INSERT INTO table-name[(column1,[column2]…] VALUES(constans1[,constants]…)
示例
insert info PERSON(id,name,sex,birth,age,province) VALUES(‘1234567890’,’张三‘,‘男’,’20080101’,1,‘beijing”) insert info PERSON
空值
ORDER BY列表可以包括如下表达式
❖ 一个列名 ❖ 一个列名和算术运算或函数 ❖ 一个显示标签 ❖ 一个位置编码(SELECT列表中的序号,从1开始)
示例
SELECT FROM PERSON ORDER BY birth
SELECT id, name, age FROM PERSON ORDER BY 3
❖ CREATE语句:建立各种实体 ❖ ALTER语句:修改已经建立的各种实体 ❖ DROP语句:删除已经建立的各种实体
语法
CREATE TABLE table-name (column_name datatype [NULL|NOT NULL] [,column_name datatype [NULL|NOT NULL]]…)
SELECT FROM PERSON ORDER BY birth DESC
ORDER BY子句 - Examples
数据控制语言DCL
用来管理事物的提交和回退用来授予或收回访问数 据库的某种权限对数据库进行监视等。具体语法格 式如下
给与用户访问表的权限
❖ GRANT tab-privilege ON table-name TO {PUBLIC | user-list}
数据库及SQL语言介绍
数据库基本概念
数据库:储存在计算机内、有组织、可共享的 相关数据集合;简言之:数据(信息)的集合
DBMS - DataBase Management System
❖ 处理数据库访问的软件。 ❖ 提供面向用户的接口功能、面向系统的维护功能。 ❖ 提供一个方便、有效存取数据库信息的环境
相关文档
最新文档