codewithmosh.com 网站的 Complete SQL Mastery(完全掌握SQL)课程可能是最清晰易懂又完整全面的SQL视频教程了。
相关资源如下:
此系列是自己学习该课程的分章节笔记,主要是每节课代码的复现,也包含一些自己的总结感悟。
主要目的是总结、记录和方便以后查阅,当然也欢迎任何讨论、交流。
什么是SQL

数据库是一个以可轻易获取形式来存储的数据的集合,为了管理我们的数据库,我们使用了一种叫做 数据库管理系统 (DBMS) 的软件应用
我们连接到一个DBMS 然后下达查询或修改数据的指令 DBMS就会执行我们的指令 并返回结果

我们现在有几种DBMS 他们被归于几大类
关系类和非关系类 后者也称谓NoSQL
关系型数据库
什么是关系型数据库
在关系型数据库中 我们把数据存储利用关系互相链接的表中
这就是为什么我们称这类数据库为关系型数据库

每张表会存储一类特定对象的数据 比如 顾客 产品 订单等等
SQL 或者 SQUEL 是我们用来处理这些关系型DBMS的语言
例如
SELECT *
FROM products
WHERE category = 'food'
ORDER BY price
我们用SQL来查询或者修改数据
关系型数据库的类型
目前有许多不同的关系型DBMS 比较通用的是MySQL 微软的SQL server 还有Oracle
当然除此之外还有很多别的
每种DBMS的SQL语言风格略有不同 但是他们的操作都很相似 而且都是基于标准SQL规范
所以大多数SQL代码 可以适应如何DBMS
现在讲的MySQL 是世界上最受欢迎的开源数据库
非关系型数据库
什么是非关系型数据库
在非关系型数据库中 我们没有表或者关系
这类数据库和关系型数据库有很大的不同 但这就完全另一个话题了
你只需知道 非关系型DBMS 无法获取SQL语言
他们有自己的查询语言
所以我们用SQL来处理关系型DBMS
MySQL的安装
创建数据库
首先我们先打开数据库
大致介绍以下界面
首先
可以创建新的标签
一个是用来写SQL代码 一个是用来打开SQL文件
然后是打开所选对象的检查器
是用来创建数据库的
在左侧的导航面板有两个标签页 管理(Administration)和模式(Schemas)
我们用管理标签做管理工作 例如开始或结束服务器 导入或导出数据等
模式标签显示我们当前服务器里的数据库
中间部分有查询编辑器窗口 这是我们编写SQL代码的地方
而在右侧有另外的一个带着两个标签页的面板
内容帮助(Context Help)和脚本片段( Snippets)
创建数据库
首先我们下载好相关数据库文件 (可在上方课程的链接寻找数据库文件)
后点击第二个按钮 找到数据库create-databases.sql文件 打开
然后点击闪电按钮就可进行创建
创建完后 底下就会显示处结果
那个面版就是输出窗口 会显示所有数据库服务器中执行的操作
虽然我们新建了数据库 但是左侧 模式标签里 我们几乎看不到新的数据库文件
所以我们要刷新视图
现在我们创建完表了
打开sql_store 的Tables 这里面的就是sql_store数据库的表
选择顾客表 每当鼠标选中项目的时候 你就能在左侧看到三个图标
点击最右边看着像一张表和闪电的图标
这样可以看到这张表的所有数据
我们将这种数据库叫做关系型数据库
本质上就是说这类数据库有多张表 通过关系彼此相连
Q.E.D.