数据库系统 -- 3 关系数据库标准语言SQL
来源:互联网 发布:怎么淘宝手机直播 编辑:程序博客网 时间:2024/06/10 19:01
SQL(Structured Query Language)结构化查询语言,标准、通用、功能强;
特点:集数据查询Data Query;数据操纵Data Manipulation ;数据定义Data Definition;数据控制Data Control功能于一体
综合统一:DDL;DML;DCL三种语言于一体
高度非过程化:只要提出做什么就好
面向集合的操作方式:操作的对象都是元组的集合
同种语法结构提供多种使用方式:内嵌到c++,java中
简洁、易学易用:
几个动词:
数据查询:SELECT
数据定义:CREATE; DROP; ALTER
数据操纵:INSERT; DELETE; UPDATE
数据控制:GRANT; REVOKE
基本概念:
外模式对应:视图View和部分基本表Base Table
模式:基本表
内模式:存储文件Stored File
视图:一个或者几个基本表导出的表;数据库中只存放图的定义不存放视图对应的数据;虚表
SQL中一个关系对应一个基本表;一个基本表对应一个存储文件;一个表可以带若干索引;索引存放在存储文件中
数据定义:
模式定义:CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
eg:CREATE SCHMA "S-T" AUTHORIZATION WANG
tt:如果没有知道模式名,则隐含为用户名
模式的删除:DROP SCHMA <模式名> <CASCADE | RESTRICT>
eg:DROP SCHEMA ZHANG CASCADE;
tt:CASCADE是级联,表示删除模式同时把该模式中所有数据库对象全部一起删除了
RESTRICT限制,只有当该模式下没有任何下属的对象时候才能执行该删除成功;否则拒绝操作
基本表定义:
CREATE TABLE Student
(
Sno char(9) primary key, /*列级完整性约束条件,Sno是主码*/
Sname char(20) unique, /*Sname取唯一值*/
Ssex char(2),
Sage smallint,
Sdept char(20)
);
CREATE TABLE Course
(
Cno char(4) primary key,
Cname char(4),
Cpno char(4), /*先修课*/
Ccredit smallint,
FOREIGN KEY Cpno REFERENCE Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);
CREATE TABLE SC
(
Sno char(9),
Cno char(4),
Grade smallint,
PRIMARY KEY(Sno,Cno), /*主码由两个属性组成,必须作为表级完整性进行定义*/
FOREIGN KEY(Sno) REFERENCE Student(Sno),
FOREIGN KEY(Sno) REFERENCE Course(Cno)
);
数据类型:
CHAR(N) 长度为n的定长字符串
VARCHAR(n) 最大长度为n的变长字符串
INT 长整数
SMALLINT 短整数
NUMBER(p,d) 定点树,p位数字组成(不包括符号、小数点),小数后面d位数字
REAL 取决于机器的精度的浮点数
Double Precision 双精度取决于机器
FLOAT(n) 浮点数 精度至少为n为数字
DATE 日期 YYYY-MM-DD
TIME 时间 HH:MM:SS
每个基本表都属于一个模式,一个模式包括多个基本表
CREATE TABLE "S-T".Student();
修改基本表:
ALTER TABLE <表名>
[ADD <新列名> <数据类型> <完整性约束>]
[ DROP <完整性约束>]
[ALTER COLUMN<列名> <数据类型>]
删除表:
DROP TABLE Student CASCADE; //删除表有关的视图触发器索引表数据等。 Restrict
索引建立:加快查询速度
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名> (<列名>[ ASC | DESC ])
eg: create unique index Studentsnindex on Student(Sno DESC);
删除索引:DROP INDEX <索引名>
数据查询:
单表查询:select Sno from Student;
DISTANCT 取消重复元组 :select distinct Sno from SC;
别名:select Sname NAME from Student;
满足条件:
比较:= > < >= <= != <> NOT
确定范围: between and、not between and
确定集合:IN,NOT IN
字符串匹配:LIKE,NOT LIKE (%任意长度的字符串;_任意单个字符)
空值:IS NULL ,IS NOT NULL
多重条件:AND、OR、NOT
ORDER BY子句:ASC and DESC排序结果 置于where 子句后面,多个列逗号隔开
GROUP BY子句:查询结果按照某一列或者多列分组,细化聚集函数,HAVING短句指定筛选条件
select Cno, COUNT(Sno)
from SC
GROUP BY Cno;
- 数据库系统 -- 3 关系数据库标准语言SQL
- 【数据库系统概论】-关系数据库标准语言SQL(3)
- 【数据库系统概论】-关系数据库标准语言SQL(1)
- 【数据库系统概论】-关系数据库标准语言SQL(2)
- 【数据库系统概论】-关系数据库标准语言SQL(4)
- 3-1关系数据库标准语言SQL
- 关系数据库标准SQL语言
- 关系数据库标准语言SQL
- 关系数据库标准语言SQL
- 关系数据库标准语言SQL
- 关系数据库标准语言SQL
- 数据库 - 关系数据库标准语言SQL
- 数据库 - 关系数据库标准语言SQL
- 第3章 关系数据库标准语言SQL(数据库系统概论)
- 数据库系统概论复习总结3 --- 第二章关系数据库标准语言SQL
- 关系数据库标准语言SQL(一)
- 关系数据库标准语言SQL(二)
- 关系数据库标准语言SQL基础1
- linux makefile练习
- linux firefox 安装flash插件
- 经过一年时间的沉淀 再次回首 TCP Socket服务器编程
- quick_sort
- Android图像处理之冰冻效果
- 数据库系统 -- 3 关系数据库标准语言SQL
- Linux 安装TFTP服务器
- int *p=NULL和*p= NULL有什么区别
- 控制器或层的概念理解
- linux 操作应用服务器基本命令
- ViewPager-实现左右两个屏幕的切换
- MFC_CComboBox - 添加字符 - 清空字符 - 获得当前字符 - 获得本机磁盘号
- 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
- 如何用matlab读出一个灰度图像各点灰度值大小?