SQL的 SELECT
语句
1. 语法
SELECT
语句用于从表中查询数据
。执行的结果被存储在一个结果表
中(称为结果集)。语法格式如下:
-- 这是注释
-- 从 FROM 指定的【表中】,查询出【所有的】数据。*表示【所有列】
SELECT * FROM 表名称
-- 从 FROM 指定的【表中】,查询出指定 列名称(字段)的数据。
SELECT 列名称 FROM 表名称
注意:SQL 语句中的关键字
对大小写不敏感
。SELECT 等效于 select,FROM 等效于 from。
2. 示例
-- 通过 * 把 users 表中所有的数据查询出来
SELECT * FROM USERS;
SQL 的 INSERT INTO
语句
1. 语法
INSERT INTO
语句用于向数据表中插入新的数据行
,语法格式如下:
-- 语法解读:向指定的表中,插入如下几列数据,列的值通过 values一一指定
-- 注意:列和值要一一对应,多个列和多个值之间,使用英文的逗号分隔
INSERT INTO table_name(列1,列2,...) VALUES(值1,值2,)
2. 示例
-- 向users表中,插入新数据,username 的值为 jack password 的值为 123456
INSERT INTO users (username,password) VALUES ('jack', '123456');
SQL 的 UPDATE
语句
1. 语法
Update
语句用于修改表中的数据
。语法格式如下:
-- 语法解读:
--1. 用 UPDATE 指定要更新哪个表中的数据
-- 2.用SET 指定列对应的新值
--3.用WHERE 指定更新的条件
UPDATE 表名称 SET 列名称二新值 WHERE 列名称=某值
2. 示例
-- 将 id 为 1 的用户的password, 更新成 888888
UPDATE users SET password='888888' WHERE id=1;
-- 将 id 为 2 的用户的 password,更新成 666666,username 更新 成tony
UPDATE users SET password='666666', username='tony' WHERE id=2;
SQL 的 DELETE
语句
1. 语法
DELETE
语句用于删除表中的行。语法格式如下:
-- 语法解读:
--从指定的表中,根据 WHERE 条件,删除对应的数据行
DELETE FROM 表名称 WHERE 列名称=值
2. 示例
-- 删除表中 id 为 4的数据
DELETE FROM users WHERE id = 4;
注意:一定要添加条件。否则把整个表都删了
SQL 的 WHERE
子句
1. 语法
WHERE
子句用于限定选择的标准。在 SELECT
、UPDATE
、DELETE
语句中,皆可使用 WHERE
子句来限定选择的标准。
-- 查询语句中的 WHERE 条件
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
-- 更新语句中的 WHERE 条件
UPDATE 表名称 SET 列=新值 WHERE 列运算符 值
-- 删除语句中的 WHERE 条件
DELETE FROM 表名称 WHERE 列 运算符值
2.可以在 WHERE 子句中使用的运算符
下面的运算符可在 WHERE
子句中使用,用来限定选择的标准:
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
BETWEEN | 在某个范国内 |
LIKE | 搜索某种模式 |
注意:在某些版本的 SQL 中,操作符 <> 可以写为 !=
3. 示例
--查询 status 为 1的所有用户
SELECT * FROM users WHERE status=1;
--查询 id 大于2的所有用户
SELECT * FROM users WHERE id>2;
-- 查询 username 不等于 jack 的所有用户
SELECT * FROM users WHERE username<>'jack'
SQL 的 AND
和 OR
运算符
1. 语法
AND
和 OR
可在 WHERE
子语句中把两个或多个条件结合起来。
AND
表示必须同时满足多个条件,相当于 JavaScript
中的 &&
运算符,例如 if (a !== 10 && a !== 20)
OR
表示只要满足任意一个条件即可,相当于 JavaScript
中的||
运算符,例如 if(a !== 10 || a !== 20)
2.AND
运算符示例
-- 使用 AND 来显示所有 status 为 0,并且 id 小于 3 的用户:
SELECT * FROM users WHERE status=0 AND id<3
3.OR
运算符示例
-- 使用 OR 来显示所有 status 为 1,或者 username 为 tony 的用户:
SELECT * FROM users WHERE status=1 OR username='tony';
SQL 的 ORDER BY
子句
1. 语法
ORDER BY
语句用于根据指定的列对结果集进行排序。
ORDER BY
语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC
关键字。
2. ORDER BY
子句 - 升序排序
对 users
表中的数据,按照 status
字段进行升序排序,示例如下:
-- 如下两条SQL语句是等价的,ASC就是升序
SELECT * FROM users ORDER BY status;
SELECT * FROM users ORDER BY status ASC;
3. ORDER BY
子句 - 降序排序
对 users
表中的数据,按照 id
字段进行降序排序,示例如下:
-- 注意:DESC 表示 降序
SELECT * FROM users ORDER BY id DESC;
4. ORDER BY
子句 - 多重排序
对 users
表中的数据,先按照 status
字段进行降序排序,再按照 id
进行升序排序,示例如下:
-- 注意:DESC 表示 降序
SELECT * FROM users ORDER BY status DESC,id ASC;
SQL 的 COUNT(*)
函数
1. 语法
COUNT(*)
函数用于返回查询结果的总数据条数,语法格式如下:
SELECT COUNT(*) FROM users;
2. 示例
-- 使用count(*) 来统计 users 表中的 status=0的总数量
SELECT COUNT(*) FROM users WHERE status=0;
3. 使用AS
给列定义别名
如果希望给查询出来的列名称设置别名,可以使用 AS 关键字,示例如下:
SELECT COUNT(*) AS total FROM users WHERE status=0;
-- 查询username显示别名为uname,password显示别名为upwd
SELECT username AS uname,password AS upwd FROM users;