-
DML
-
新增表数据语法
-
新增格式1:给指定列添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES (值1,值2,...);
-
新增格式2:默认给全部列添加数据
INSERT INTO 表名 VALUES (值1,值2,值3,...);
-
新增格式3:批量添加数据
INSERT INTO 表名 VALUES (值1,值2,值3,...),(值1,值2,值3,...),(值1,值2,值3,...);
- 注意事项
列名和值的数量以及数据类型要对应
除了数字类型,其他数据类型的数据都需要加引号(单引双引都可以,推荐单引)
-
修改表数据语法
UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,... [where 条件];
-
删除表数据语法
DELETE FROM 表名 [WHERE 条件];
DQL
-
查询语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
-
查询全部
SELECT * FROM 表名;
-
查询部分
-
多个字段查询
SELECT 列名1,列名2,... FROM 表名;
- 去除重复查询
SELECT DISTINCT 列名1,列名2,... FROM 表名;
-
计算列的值(四则运算)
SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;
如果某一列为null,可以进行替换
ifnull(表达式1,表达式2)
表达式1:想替换的列
表达式2:想替换的值
如: -- 查询商品名称和库存,库存数量在原有基础上加10。进行null值判断
SELECT NAME,IFNULL(stock,0)+10 FROM product;
-
起别名
SELECT 列名1,列名2,... AS 别名 FROM 表名;
-
条件查询
-
条件分类
符号 | 功能 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
BETWEEN ... AND ... | 在某个范围之内(都包含) |
IN(...) | 多选一 |
LIKE 占位符 | 模糊查询 _单个任意字符 %多个任意字符 |
IS NULL | 是NULL |
IS NOT NULL | 不是NULL |
AND 或 && | 并且 |
OR 或 || | 或者 |
NOT 或 ! | 非,不是 |
-
条件查询语法
SELECT 列名 FROM 表名 WHERE 条件;
-
聚合函数
将一列数据作为一个整体,进行纵向的计算
-
聚合函数分类
函数名 | 功能 |
---|---|
count(列名) | 统计数量(一般选用不为null的列) |
max(列名) | 最大值 |
min(列名) | 最小值 |
sum(列名) | 求和 |
avg(列名) | 平均值 |
-
聚合函数语法
SELECT 函数名(列名) FROM 表名 [WHERE 条件];
-
排序查询
- 排序分类
注意:多个排序条件,当前边的条件值一样时,才会判断第二条件
关键词 | 功能 |
---|---|
ORDER BY 列名1 排序方式1,列名2 排序方式2 | 对指定列排序,ASC升序(默认的) DESC降序 |
-
排序语法
SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 列名1 排序方式1,列名2 排序方式2;
-
分组查询
- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式];
-
分页查询
- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式] LIMIT 开始索引,查询条数;
公式:开始索引 = (当前页码-1) * 每页显示的条数