1.查询数据(select) 、插入数据(insert into) 、更新数据(update) 、删除数据(delete)
额外需要掌握的 4 种 SQL 语法:
where 条件、and 和 or 运算符、order by 排序、count(*) 函数
1.1 SQL 的 SELECT 语句
1. 语法
SELECT 语句用于
从表中查询数据
。执行的结果被存储在一个
结果表
中(称为
结果集
)。语法格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/72642e69f70ea82b6ba9642bf9b957f5.png)
注意:SQL 语句中的关键字对大小写不敏感。SELECT 等效于 select,FROM 等效于 from。
2. SELECT * 示例
我们希望从 users 表中选取所有的列,可以使用符号 * 取代列的名称,示例如下:
-- 通过 * 把 users 表中所有的数据查询出来
-- select * from users
3. SELECT 列名称 示例
如需获取名为 "
username
" 和 "
password
" 的列的内容(从名为 "users" 的数据库表),请使用下面的 SELECT 语句:
-- 从 users 表中把 username 和 password 对应的数据查询出来
-- select username, password from users
1.2 SQL 的 INSERT INTO 语句
1. 语法
INSERT INTO
语句用于
向数据表中
插入新的数据行
,语法格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/b0446a1a6f6a27280f17ed89c3622b47.png)
2. INSERT INTO 示例
向 users 表中,插入一条
username
为
tony stark
,
password
为
098123
的用户数据,示例如下:
-- 向 users 表中,插入新数据,username 的值为 tony stark password 的值为 098123
-- insert into users (username, password) values ('tony stark', '098123')
-- select * from users
1.3 SQL 的 UPDATE 语句
1. 语法
Update
语句用于
修改表中的数据
。语法格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/d914cd0a4aee5fc30fde4caa170cb02f.png)
2. UPDATE 示例 - 更新某一行中的一个列
把 users 表中
id
为 4
的用户密码,更新为
888888
。示例如下:
-- 将 id 为 4 的用户密码,更新成 888888
-- update users set password='888888' where id=4
-- select * from users
3. UPDATE 示例 - 更新某一行中的若干列
把 users 表中
id
为
2
的
用户密码
和
用户状态
,分别更新为
admin123
和
1
。示例如下:
-- 更新 id 为 2 的用户,把用户密码更新为 admin123 同时,把用户的状态更新为 1
-- update users set password='admin123', status=1 where id=2
-- select * from users
1.4 SQL 的 DELETE 语句
1. 语法
DELETE
语句用于删除表中的行。语法格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/aa3d9545016451bcba127914710dfc9c.png)
2. DELETE 示例
从 users 表中,删除
id
为
4
的用户,示例如下:
-- 删除 users 表中, id 为 4 的用户
-- delete from users where id=4
-- select * from users
1.5 SQL 的 WHERE 子句
1. 语法
WHERE 子句用于
限定选择的标准
。在
SELECT
、
UPDATE
、
DELETE
语句中,
皆可使用
WHERE 子句来限定选择的标准。
![](https://i-blog.csdnimg.cn/blog_migrate/ea06161ba3833f29d88f4cdf6b768ca6.png)
2. 可在 WHERE 子句中使用的运算符
下面的运算符可在 WHERE 子句中使用,用来限定选择的标准:
![](https://i-blog.csdnimg.cn/blog_migrate/3d05f99bc7dc4411817986870a0292dd.png)
注意:在某些版本的 SQL 中,操作符 <> 可以写为 !=
3. WHERE 子句示例
可以通过 WHERE 子句来限定 SELECT 的查询条件:
-- 演示 where 子句的使用
-- select * from users where status=1
-- select * from users where id>=2
-- select * from users where username<>'ls'
-- select * from users where username!='ls'
1.6 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
的用户:
-- 使用 AND 来显示所有状态为0且id小于3的用户
-- select * from users where status=0 and id<3
2. OR 运算符示例
使用 OR 来显示所有
status
为
1
,或者
username
为
zs
的用户:
-- 使用 or 来显示所有状态为1 或 username 为 zs 的用户
-- select * from users where status=1 or username='zs'
1.7 SQL 的 ORDER BY 子句
1. 语法
ORDER BY 语句用于
根据指定的列
对结果集进行排序
。
ORDER BY 语句
默认
按照
升序
对记录进行排序。
如果您希望按照
降序
对记录进行排序,可以使用
DESC
关键字。
2. ORDER BY 子句 - 升序排序
对 users 表中的数据,按照 status 字段进行升序排序,示例如下:
-- 对users表中的数据,按照 status 字段进行升序排序
-- select * from users order by status
3. ORDER BY 子句 – 降序排序
对 users 表中的数据,按照 id 字段进行降序排序,示例如下:
-- 按照 id 对结果进行降序的排序 desc 表示降序排序 asc 表示升序排序(默认情况下,就是升序排序的)
-- select * from users order by id desc
4. ORDER BY 子句 – 多重排序
对 users 表中的数据,先按照
status
字段进行
降序排序
,再按照
username
的
字母顺序
,进行
升序排序
,示例如下:
-- 对 users 表中的数据,先按照 status 进行降序排序,再按照 username 字母的顺序,进行升序的排序
-- select * from users order by status desc, username asc
1.8 SQL 的 COUNT(*) 函数
1. 语法
COUNT(*)
函数用于返回
查询结果的
总数据条数
,语法格式如下:
-- SELECT COUNT(*) FROM 表名称
2. COUNT(*) 示例
查询 users 表中
status
为
0
的总数据条数:
-- 使用 count(*) 来统计 users 表中,状态为 0 用户的总数量
-- select count(*) from users where status=0
2. 使用 AS 为列设置别名
如果希望给查询出来的列名称设置别名,可以使用
AS
关键字,示例如下:
-- 使用 AS 关键字给列起别名
-- select count(*) as total from users where status=0
-- select username as uname, password as upwd from users