DML:数据操作语言,用来对数据库中表的数据进行增删改
添加数据:
1.给指定列添加数据
INSERT INTO 表名(列名1,列名2,..) VALUE(值1,值2);
2.给全部列添加数据
INSERT INTO 表名 VALUE(值1,值2);
3.批量添加数据
INSERT INTO 表名(列名1,列名2,...) VALUE(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
修改数据
UPDATE 表名 SET 列名1=值1,列名1=值1...[where 条件];
注意:修改语句中如果不加条件,则将所有数据都修改
删除数据:
DELETE FROM 表名 [WHERE 条件];
注意:删除语句如果不加条件,则将所有数据都会删除
DQL:对表中数据进行查询
SELECT 关键字 条件查询(WHERE) 分组查询(GROUP BY) 排序查询(ORDER BY) 分页查询(LIMIT)
SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段 HAVING 分组后得条件 ORDER BY 排序字段 LIMIT 分页限定
SELECT 字段列表 FROM 表名列表 **这是最基本,其他都可有可无,根据业务进行添加
基础查询:
1.查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; --查询所有数据
2.去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
条件查询:
1.条件查询语句
SELECT 字段列表 FROM 表名 WHERE 条件列表;
2.条件
> 大于
< 小于
>= 大于等于
<= 小于等于
= 等于
<>或!= 不等于
BETWEEN..AND... 在某个范围之内(都包含)
IN(...) 多选一
LIKE 占位符 模糊查询 _单个任意字符 %多个任意字符
IS NULL 是NULL
IS NOT NULL 不是NULL
AND 或 && 并且
OR 或 || 或者
NOT 或 ! 非,不是
模糊查询:模糊查询就是根据一个不明确的条件查询数据,它和精确查询某个值或者某个字段是相对的。
用like关键字搭配百分号%或者下划线_这两种通配符进行模糊匹配查询。
% 表示的是匹配任意多个数的字符
_ 表示的是匹配任意单个字符
示例:
-- 查询name字段中包含五的
select * from user where name like'%五%';
-- 查询name字段中最后一个字符 为 五的
select * from users where name like '%五';
-- 查询name字段中第一个字符 为 王 的
select * from users where name like '王%';
-- 使用 _ 单个的下划线。表示一个任意字符,使用和%类似
-- 查询表中 name 字段为两个字符的数据
select * from users where name like '__';
-- 查询 name 字段最后为五,的两个字符的数据
select * from users where name like '_五';
排序查询
1.排序查询语法
SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2]....;
2.排序方式
ASC:升序排列(默认值)
DESC:降序排列
注意:如果由多个排序条件,当前边得条件值一样时,才会根据第二条件进行排序
select
查询列表
from
表名称
[where 筛选条件]
Order by 排序列表 [asc|desc]
注:
1.asc标示的是升序。desc表示的是降序,默认是升序。
2.order by子句中可以支持单个字段、多个字段、表达式、函数、别名。
3.order by子句一般是放在查询语句的最后面,limit子句除外。
分组查询
聚合函数
概念:将一列数据作为一个整体,进行纵向计算
聚合函数分类:
count(列名) 统计数量(一般选用不为null得列)
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名) 平均值
聚合函数语法:
SELECT 聚合函数名(列名) FROM 表;
注意:null值埠村与所有得聚合函数运算
例:SELECT COUNT(*) FROM 表名; 就是表示这个表由多少行数据 其他仿照
分组查询
1.分组查询语法
SELECT 字段列表 FROM [WHERE 分组前条件限定] GROUD BY 分组字段名[HAVING 分组后条件过滤]
注意:分组之后,查询得字段为聚合函数和分组字段,查询其他字段无任何意义
WHERE和HAVING得区别
执行得时机不同:WHERE是分组之前进行限定,不满足where条件,则不参与分组,而HANING是参与分组之后对结果进行过滤
可判断得条件不一样:WHERE不能对聚合函数进行判断,HAVING可以
执行顺序:WHERE>聚合函数>HAVING
示例:按照分组字段分组 查询聚合函数
SELECT 分组字段,聚合函数 FROM 表名 GROUP BY 分组字段;
where :分组之前进行条件限定
SELECT 分组字段,聚合函数 FROM 表名 WHERE 条件 GROUP BY 分组字段;
HAVING:是在分组之后进行条件得限定
SELECT 分组字段,聚合函数 FROM 表名 WHERE 条件 GROUP BY 分组字段 HANING 条件;
分页查询
1.分页查询语法
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询条目数;
起始索引:从0开始
计算公式: 起始索引=(当前页码-1)*每页显示得条数
示例:SELECT * FROM 表名 LIMIT 0,3;表示从0开始查询,查询了三条数据
分页:当前页码,页面会传递过来,煤业展示得条目数,页面会传递过来
注意:分页查询limit是Mysql得方言(mysql独有得)
mysql_3 (这个需要熊弟门多多自己动手练习 有问题可以滴滴我)
于 2022-05-07 02:03:51 首次发布