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.