一、CRUD
- 注释:在SQL中可以使用“--空格+描述”来表示注释说明
- CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。
1.新增 CREATE
-- 单行插入
insert into table_name values ();
-- 多行插入
insert into student (column1, column2) values
(),
();
2.查询 RETRIEVE
select
column
from table_name
where ()
order by cloumn(asc | desc)
limit
3.查询
-- 全列查询
select * from table_name;
-- 指定列查询
select column from table_name;
-- 别名
select column [as] new_name from table_name;
-- 去重
select distinct column from table_name;
-- 排序
select column from table_name where order by column [asc | desc];
1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
4.条件查询
比较运算符 | 说明 |
>, >=, <, <= | 大于,大于等于,小于,小于等于 |
= | 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
<=> | 等于,NULL 安全,例如 NULL NULL 的结果是 TRUE(1) |
!=, <> | 不等于 |
BETWEEN a0 AND a1 | 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1) |
IN (option, ...) | 如果是 option 中的任意一个,返回 TRUE(1) |
IS NULL | 是 NULL |
IS NOT NULL | 不是 NULL |
LIKE | 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字 符 |
逻辑运算符 | 说明 |
AND | 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
OR | 任意一个条件为 TRUE(1), 结果为 TRUE(1) |
NOT | 条件为 TRUE(1),结果为 FALSE(0) |
注:
1. WHERE条件可以使用表达式,但不能使用别名。
2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
5.分页查询
-- 从0开始,筛选n条结果
select column from table_name where() order by limit n;
-- 从s开始,筛选n条结果
select column from table_name where() order by limit s, n;
-- 从s开始,筛选n条结果
select column from table_name where() order by limit n offset s;
6.修改 UPDATE
update table_name set column = 更改内容 where () order by limit;
7.删除 DELETE
delete from table_name where() order by limit;