SQL和数据库全面教程系列简介和总览

465 阅读6分钟

本系列力争做到全面详细的介绍SQL的方方面面,目标是,关于SQL的使用直接查找对应相关文章即可,不需寻找额外的资料。

因此,总体分为“SQL全面教程”、以实际数据库为主线的“数据库教程”(主要分为PostgreSQL、MySQL/MariaDB、SQL Server,偶尔会涉及SQLite、Oracle)。数据库通用的内容放在数据库教程部分的系列,各数据库对应的文章也会进行后续区分

整个系列目前写下来,查找资料、练习、演示、斜纹等,很耗费时间、精力,感谢能够多加支持!...

本系列起初是打算参考《SQL基础教程(第2版)》,对SQL有个全面详细的总结和回顾,但最终写下来想要扩展的功能很多,后续参考了各不同数据库官方文档、维基百科、中国大学MOOC人大的《数据库系统概论(高级篇)》、《SQL必知必会》、《MySQL技术内幕:innodb存储引擎》以及网上的许多资料,补充完整和加深学习。

过程中,总体上使用PostgreSQL作为SQL的学习环境,同时结合SQL Server2016和MariaDB10.3,在介绍数据库和SQL基础的基础上,除了非特定数据库系统的内容,也介绍了各自数据库系统中的不同点,原则上使用任何数据库学习均可,而且不同数据库的不同SQL写法基本都会给出来。针对于不同的问题,也都尽量执行实际操作测试,比较区别。希望可以更好的和较为全面的介绍和帮助学习SQL。

PostgreSQL号称"世界上最先进的开源关系数据库"(The World's Most Advanced Open Source Relational Database,"功能强大的开源数据库系统"),PostgreSQL确实非常强大,最为开源数据库也越来越受到欢迎和重视,可能更多的是由于历史原因,使用上没有MySQL等数据库广泛(目前PostgreSQL排名第四,位于Oracle、MySQL、SQL Server之后)。

后续不断的深入,于是决定加入一些数据库方面的知识文章。实际上SQL和数据库的介绍在很多方面没法完全区分开,像SQL事务,除了事务管理和控制的SQL语句之外,锁、事务属性和状态、隔离级别、并发控制等,都属于数据库理论方面的内容,但是它们虽然对事务使用没什么影响,却对理解事务的实现和执行很有帮助,为了便于一气呵成的了解,因此关于事务的部分,都放在了一起介绍(实际只了解本系列中第一篇事务的文章即可)。

下面是系列文章的链接:

数据库系列


SQL系列

  1. SQL全面教程一:数据库、SQL概念及使用DDL创建管理数据库表
  2. SQL全面教程二:基础查询全介绍
  3. SQL全面教程三:实现对数据的汇总——聚合、分组及分组内过滤和排序
  4. SQL全面教程四:数据更新——插入、删除、更新
  5. SQL全面教程五:事务(1)管理数据更新、事务介绍使用和事务模式 | 不容错过地详细介绍)
  6. SQL全面教程六:事务(2)事务性DDL、保留点的使用,及Oracle中如何实现在一个单一事务中创建多个表
  7. SQL全面教程七:事务(3)事务分类和MySQL中的commit work and chain
  8. SQL全面教程八:事务(4)事务的ACID属性和执行状态| 8月更文挑战
  9. SQL全面教程九:事务(5)彻底了解隔离级别与事务的实现| 8月更文挑战
  10. SQL全面教程十:事务(6)厘清PostgreSQL中如何查看和设置隔离级别| 8月更文挑战
  11. SQL全面教程十一:事务(6)厘清MySQL/MariaDB中如何查看和设置隔离级别,设置binlog_format为row
  12. SQL全面教程十二:事务(6)厘清SQL Server中如何查看和设置隔离级别,详解RCSI和SNAPSHOT的不同
  13. SQL全面教程十三:事务(7)事务的并发控制和并发事务中'丢失更改'不可重复读'幻读'脏读'

MySQL/Mariadb数据库相关

  1. 全网最详细 | 数据库教程10:MySQL中字符集和排序规则的详细介绍,为什么中文等字符编码(Unicode)下一定要使用utf8mb4?
  2. 数据库教程13:如何正确设置MySQL/MariaDB的字符编码为utf8mb4?如何支持全部的Unicode?

PostgreSQL数据库相关

  1. SQL全面教程零:PostgreSQL安装及使用介绍 | 开始PostgreSQL的第一步
  2. 数据库教程9:PostgreSQL中对序规则、区分大小写和字符集的支持,及修改查看Collate | [可能是]比较中区分大小写的唯二数据库

SQL Server数据库相关

  1. 数据库教程8:SQL Server中的有关排序规则、区分大小写的方方面面,及字符集
  2. 数据库教程17:必须了解的SQL Server DBCC的方方面面及其常用命令
  3. 数据库教程18:SQL Server获取DBCC中某一项或收集DBCC的结果到表中
  4. 数据库教程19:这可能是你了解SQL Server跟踪标记的最正确的姿势
  5. 数据库教程20:SQLServer中sp_Who、sp_Who2和sp_WhoIsActive介绍和查看监视运行的会话进程,sp_WhoIsActive详细介绍
  6. 数据库教程21:sp_who如何查找阻塞执行的会话sessionID并中止,及KILL spid WITH STATUSONLY详解
  7. 数据库教程22:SQL Server中如何查找查询慢、运行时间长的查询,sp_WhoIsActive及sp_WhoIsActive的替代
  8. 数据库教程23:SQL Server中如何正确的处理确认死锁问题
  9. 数据库教程24:SQL Server中一个你必须了解的存储过程sp_procoption
  10. 数据库教程25:SQL Server中xp_、sp_为前缀的存储过程及MSSQL的命名规范问题
  11. 数据库教程26:SQL Server中获取动态SQL的结果到变量中如何实现?
  12. 数据库教程27:SQL Server中的数字类型,如real、float、decimal、numeric、money等及各自区别

SQLite

  1. 数据库教程14:简要介绍下SQLite中在比较时使用的排序规则