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.