SQL基础教程(第二版)学习笔记

2020-09-25  本文已影响0人  YoungHu

SQL基础教程(第二版)

1 数据库和SQL

1.1 数据库管理系统 DBMS**

RDBMS

  • Oracle
  • SQL server
  • DB2
  • PostgreSQL
  • MySQL

1.2 数据库的结构

客户端 ——SQL语句——> 服务器 RDBMS <————> 数据库(数据保存到硬盘等设备上)
<——请求的数据——

1.3 SQL语句及种类

CREATE

DROP :删除表

ALTER :添加或删除列( 按列)

SELECT

INSERT :插入记录(按行)

UPDATE :修改数据记录

DELETE :删除记录,表保存

COMMIT :确认数据库变更

ROLLBACK :取消变更

GRANT :赋予用户操作权限

REVOKE :取消用户操作权限

1.4 数据类型指定及约束

2 基础查询

2.1 SELECT

中文别名使用双引号括起来;

distinct 去重;

where条件选择;

注释 :单行__ 多行"/" 和"/" 括起来;

2.2 算术运算符和比较运算符

+ - * / // %

所有包含NULL的计算都为NULL

> < = <> >= <=

字符串比较从第一个字符开始

不能对NULL使用比较运算符, 否则为空

2.3 逻辑运算符

NOT AND OR

AND的优先级高于OR

SQL的逻辑运算被称为三值逻辑:真、假、不确定

3 聚合排序

3.1 聚合函数

聚合函数会将NULL排除在外,但COUNT除外

3.2 分组 group by

为聚合结果指定条件使用HAVING而不是WHERE, HAVINGgroup by之后

3.3 排序 order by

指定多个排序 order by col_a asc, col_b desc

NULL会汇集在开头或者结尾

3.5 书写和执行顺序

书写顺序

SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY

执行顺序

FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY

4 事务

数据的更新、插入、删除(MySQL)

START TRANSACTION;
​
DML(INSERT /  DELET  /  UPDATE)
INSERT INTO table_name  VALUES (..., [DEFAULT], ...);
...
​
DELET FROM table_name;
​
UPDATE table_name
SET ...
[WHERE ...];
​
COMMIT/ROLLBACK;

插入默认值用 DEFAULT value来约束

DBMS的事务的四种特性:原子性、统一性、隔离性、持久性。(ACID特性)

5 复杂查询

创建视图 CREATE VIEW

视图包含 ”不能使用ORDER BY“ 和 ”可对其进行有限制的更新“两项限制

删除视图 DROP VIEW

标量子查询

WHERE关联,结合条件写在子查询中

6 函数、谓词和case表达式

6.1 函数

ABS
ROUND(COL, N)
MOD
LENGTH
CONCAT(str1, str2) ||
REPLACE(str, target, value)
SUBSTRING(str FROM pos FOR len)
LOWER/ UPPER
EXTRACT(YEAR/MON/DAY/HOUR/MINUTE/SECOND FROM date)
CAST(col AS 类型)  # 类型转换
COALESCE(NULL, value)

6.2 谓词

6.3 CASE

CASE 
WHEN ... THEN ... 
ELSE ... 
END

7 集合运算

7.1 表加减法

7.2 表联结

8 SQL高级处理——窗口函数

窗口函数

窗口函数语法

<窗口函数> OVER ([PARTITION BY col_1] ORDER BY col_2 )


SQL书籍分享

链接: https://pan.baidu.com/s/1BfvkSeBoQXTOyW4zM5No-Q 提取码: vd8g



上一篇下一篇

猜你喜欢

热点阅读