SQL是结构化查询语言,用于访问和处理数据库的编程语言。以编程的形式,操作数据库里面的数据。

SQL是一门数据库编程语言;使用SQL语言编写的代码叫做SQL语句;SQL语言只能在关系型数据库中使用(MySQL,Oracle,SQL Server)。非关系型数据库(Mongodb)不支持SQL语言。

SELECT语句用于从表中查询数据。执行的结果被存储在一个结果表中。

注:SQL语句关键字不区分大小写

-- 从FROM指定的【表中】,查询【所有的】数据。*表示【所有列】
SELECT * FROM 表名
-- 从FROM指定的【表中】,查询【指定的列】的数据。
SELECT 列名称 FROM 表名称

INSERT INTO

语句,用于向数据表插入新的数据行

INSERT INTO table_name(列1,列2...) VALUES (值1,值2...)
-- 例如
INSERT INTO users(username,password) VALUES ('super','123456')
-- 注意,字符串用单引号''

UPDATE

用于修改表中数据

-- 用UPDATE指定更新哪个表
-- SET指定列对应的新值
-- WHERE指定更新的条件
UPDATE 表名称 SET 列名称=新值 WHERE 列名称 = 某值

-- 例如 把id为1的人的密码改为8888
UPDATE users SET password='8888' WHERE id = 1

-- 例如 把id为2的人密码改为6666,状态为1
UPDATE users SET password='6666',status=1 WHERE id = 1

DELETE

语句用于删除表中的行

DELETE FROM 表名称 WHERE 列名称=值
-- 例如把id为2的人删除
DELETE FROM users WHERE id=2

WHERE子句

WHERE子句用于限定选择的标准,在SELECT,UPDATE,DELETE语句中,皆可使用WHERE来限定选择的标准,

SELECT 列名称 FROM 表名称 WHERE 列名称 运算符 某值
UPDATE 表名称 SET 列名称=新值 WHERE 列名称 运算符 某值
DELETE FROM 表名称 WHERE 列名称 运算符 值

可在WHERE中使用的运算符

= 等于
<> | != 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式

AND和OR

在WHERE中把两个或多个条件结合起来
AND表示必须同时满足多个条件,相当于js中的&&
OR 表示满足任一条件,相当于js中的||

-- 选择id大于1且状态为0的
SELECT * FROM user where id>1 AND status=0
-- 选择id为1或状态为1的
SELECT * FROM user where id=1 OR status=1

ORDER BY 排序

根据指定的列对结果集进行排序

ORDER BY 默认按照升序进行排序,可以使用DESC关键字进行降序排序

-- ORDER BY默认进行升序排序
-- ASC关键字代表升序排序
-- DESC关键字代表降序排序
SELECT * FROM users ORDER BY status
SELECT * FROM users ORDER BY status ASC
SELECT * FROM users ORDER BY id DESC

多重排序

先按照status降序排序,再按照username,进行升序排序

SELECT * FROM users ORDER BY status DESC,username ASC

count 函数

count用于返回查询结果总数据条数

-- 统计状态为0的用户的总数
SELECT COUNT(*) FROM users WHERE status=0

AS 关键字

如果我给查询的列名设置别名,可以用AS

-- 给列取别名
SELECT COUNT(*) as total FROM users WHERE status=0
-- 也可以给其他取别名
SELECT username as uname ,password as pwd from users

Q.E.D.