使用 SQL 管理数据库
其实写接口简单来说就是操作数据库数据,所以我们需要学会数据库的增、删、查、改等基本操作
1. 什么是 SQL
SQL(英文全称:Structured Query Language)是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让 我们以编程的形式,操作数据库里面的数据。
三个关键点:
① SQL 是一门数据库编程语言
② 使用 SQL 语言编写出来的代码,叫做 SQL 语句
③ SQL 语言只能在关系型数据库中使用(例如 MySQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb) 不支持 SQL 语言
2. SQL 能做什么
① 从数据库中查询数据
② 向数据库中插入新的数据
③ 更新数据库中的数据
④ 从数据库删除数据
⑤ 可以创建新数据库 ⑥ 可在数据库中创建新表 ⑦ 可在数据库中创建存储过程、视图 ⑧ etc…
3. SQL 的学习目标
重点掌握如何使用 SQL 从数据表中:
查询数据(select) 、插入数据(insert into) 、更新数据(update) 、删除数据(delete) 额外需要掌握的 4 种 SQL 语法:
where 条件、and 和 or 运算符、order by 排序、count(*) 函数
SQL 的 SELECT 语句
1. 语法
SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)。语法格式如下:
注意:SQL 语句中的关键字对大小写不敏感。SELECT 等效于 select,FROM 等效于 from。
2、SELECT * 示例
我们希望从 users 表中选取所有的列,可以使用符号 * 取代列的名称,示例如下:
SELECT 列名称示例
如需获取名为 "username" 和 "password" 的列的内容(从名为 "users" 的数据库表),请使用下面的 SELECT 语句:
SQL 的 INSERT INTO 语句
INSERT INTO 语句用于向数据表中插入新的数据行,语法格式如下:
INSERT INTO 示例
向 users 表中,插入一条username 为tony stark,password为098123的用户数据,示例如下:
SQL 的 UPDATE 语句
Update 语句用于修改表中的数据。语法格式如下:
UPDATE 示例 -更新某一行中的一个列
把 users 表中id为7的用户密码,更新为888888。示例如下:
UPDATE 示例 -更新某一行中的若干列
把 users 表中id为2的用户密码和用户状态,分别更新为admin123 和1。示例如下:
SQL 的 DELETE 语句
DELETE 语句用于删除表中的行。语法格式如下:
DELETE 示例
从 users 表中,删除id 为4的用户,示例如下:
SQL 的WHERE 子句
WHERE 子句用于限定选择的标准。在SELECT、UPDATE、DELETE语句中,皆可使用WHERE 子句来限定选择的标准。
可在 WHERE 子句中使用的运算符
QL 的 WHERE 子句
以通过 WHERE 子句来限定 SELECT 的查询条件:
SQL 的AND和OR运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
AND 表示必须同时满足多个条件,相当于 JavaScript 中的 && 运算符,例如if (a !== 10 &&a !== 20)
OR 表示只要满足任意一个条件即可,相当于 JavaScript 中的 || 运算符,例如if(a !== 10 ||a !== 20)
AND 运算符示例
使用 AND 来显示所有status为0,并且id小于 3 的用户:
OR 运算符示例
使用 OR 来显示所有status为1,或者username为zs 的用户:
SQL 的 ORDER BY 子句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用DESC关键字。
ORDER BY 子句 -升序排序
对 users 表中的数据,按照 status 字段进行升序排序,示例如下:
ORDER BY 子句–降序排序
对 users 表中的数据,按照 id 字段进行降序排序,示例如下:
ORDER BY 子句–多重排序
对 users 表中的数据,先按照status字段进行降序排序,再按照username的字母顺序,进行升序排序,示例如下:
SQL 的 COUNT(*) 函数
COUNT(*) 函数用于返回查询结果的总数据条数,语法格式如下:
COUNT(*) 示例
查询 users 表中status为0的总数据条数:
使用AS 为列设置别名
如果希望给查询出来的列名称设置别名,可以使用AS关键字,示例如下: