Professional Documents
Culture Documents
DB 07
DB 07
结构化查询语言
(SQL)
‧ 数据模型基本构建块 ‧ 模型简
介
数据库管理–
COMP3140
于比利
1
Machine Translated by Google
该怎么办?
‧ 管理 ‧ 运营
– 数据操作
– 数据查询
2
Machine Translated by Google
3
Machine Translated by Google
表 7.2 ‑
SQL数据操作
命令
4
Machine Translated by Google
图 7.1 ‑ 数据库模型
5
Machine Translated by Google
设置
6
Machine Translated by Google
创建数据库
‧ 创建数据库结构
– RDBMS 创建用于保存数据库的物理文件
– 创建表时需要
– 用户应使用数据库管理员创建的用户 ID 和密码登
录 RDBMS
7
Machine Translated by Google
数据库架构
‧ 彼此相关的数据库对象逻辑组(例如表和索引)
‧ 命令:
– 创建模式授权{creator};
– 很少直接使用,
因为命令通常是可选的
8
Machine Translated by Google
9
Machine Translated by Google
创建表结构
‧ 每列(属性)
定义使用一行 ‧ 使用空格排列属性
特征和约束
‧ 表名和属性名全部大写 ‧ 建表命令序列特点:
10
Machine Translated by Google
SQL 约束
11
Machine Translated by Google
SQL索引
‧ 声明主键时,
DBMS 自动创建唯一索引
‧ CREATE INDEX命令可以是
用于根据任何选定的属性创建索引
‧ UNIQUE限定符可防止值
之前已经使用过
‧ 复合索引可防止数据重复
‧ 要删除索引,
请使用DROP INDEX
12
命令
Machine Translated by Google
视频和练习
https://www.youtube.com/watch?v=kE70n_gftC0
(0:54开始)
关系怎么样?? ‧ https://
mariadb.com/kb/en/mariadb/foreign‑keys/
13
Machine Translated by Google
运营
‧ 基本
14
Machine Translated by Google
数据操作命令
INSERT:
向表中插入数据的命令
COMMIT:
保存更改的命令
15
Machine Translated by Google
数据操作命令
SELECT:
列出内容的命令
‧ 语法‑ SELECT列列表FROM表名;
‧通配符(*):
替换其他字符/命令
UPDATE:
修改数据的命令
16
Machine Translated by Google
数据操作命令
WHERE 条件
‧ 指定要选择的行
ROLLBACK:
恢复数据库的命令
‧ 语法‑ROLLBACK;
‧ 撤消自上次 COMMIT 命令以来所做的更改
DELETE:
删除命令
17 号
Machine Translated by Google
使用 a 插入表行
选择子查询
‧ 句法
– INSERT INTO表名SELECT列列表FROM表
名
‧ 用于使用另一个表作为源添加多行
‧ SELECT 命令 ‑ 充当子查询
并首先执行
–子查询:
嵌入/嵌套在另一个查询中的查询
18
Machine Translated by Google
视频和练习
https://www.youtube.com/watch?v=NH67NECAnX8
(0:30开始)
关系怎么样?? ‧ https://
mariadb.com/kb/en/mariadb/foreign‑keys/
19
Machine Translated by Google
使用选择行
有条件限制
‧ 可以通过对要包含的行进行限制来选择部分表内容
‧ 语法允许指定哪些行
选择:
– 选择列列表
– 来自表列表
– [WHERE条件列表];
‧ WHERE 子句添加了条件限制
到 SELECT 语句
20
Machine Translated by Google
运营商
21
Machine Translated by Google
表 7.6 ‑ 比较运算符
‧ 增加了有条件的限制
选定的角色属性和日期
22
Machine Translated by Google
比较运算符:
计算列和列
别名 ‧
SQL 接受计算列中的任
何有效表达式/公式
‧别名:
在任何 SQL 语句中为列或表指定的替
代名称,以提⾼可读性
‧ 计算列、
别名和日期算术可以在单个
查询中使用
23
Machine Translated by Google
算术运算符
‧优先规则:
建立
计算完成的顺序 ‧ 按以下顺序执行:
– 括号内的运算
– 电力操作
– 乘法和除法
– 加法和减法
24
Machine Translated by Google
表 7.7 ‑ 算术运算符
25
Machine Translated by Google
逻辑运算符:
AND、
OR 和 NOT
‧ OR和AND:
用于链接WHERE 或中的多
个条件表达式
HAVING 子句
– OR仅需要条件之一
表达式为真
– AND要求所有条件表达式都为真
‧ NOT用于否定条件表达式的结果
‧布尔代数专用于逻辑运算
26
Machine Translated by Google
图 7.12 ‑ 选定的产品表属性:
逻辑
OR
27
Machine Translated by Google
图 7.13 ‑ 所选产品表属性:
逻辑
AND
28
Machine Translated by Google
图 7.14 ‑ 所选产品表属性:
逻辑
AND 和 OR
29
Machine Translated by Google
特殊操作员
之间
‧ 检查属性值是否在范围内
一片空白
‧ 检查属性值是否为空
喜欢
‧ 检查属性值是否与给定的字符串模式匹配
在
‧ 检查属性值是否与值列表中的任何值匹配
存在
‧ 检查子查询是否返回任何行
30
Machine Translated by Google
公用事业
31
Machine Translated by Google
附加 SELECT 查询
关键字 ‧ 逻
辑运算符在查询环境中运行良好
‧ SQL 提供了有用的函数:
‑ 数数
– 查找最小值和最大值
– 计算平均值
‧ SQL 允许用户限制对条目的查询:
– 没有重复项
– 可以将其重复项分组
32
Machine Translated by Google
订购列表
‧ 语法‑ SELECT列列表
从表列表
[WHERE条件列表]
[按列列表排序[ASC |降序]];
‧ Cascading order 序列:
多级有序序列
33
Machine Translated by Google
列出独特的价值
‧ DISTINCT子句:
生成值列表
是独一无二的
‧ 语法 ‑ SELECT DISTINCT列列表
FROM表列表;
‧ 空值的放置不会影响列表内容
– 在 Oracle 中可以将空值放在列表顶部
34
Machine Translated by Google
35