MySQL学习笔记1【DQL和DCL】
该笔记从DQL处开始记录
DQL之前值得注意的点
字段 BETWEEN min AND max
可以查询区间[min, max]的数值如果同一个字段需要满足多个OR条件,可以采取
字段 IN(数值1, 数值2, 数值3....)
LIKE语句
字段 LIKE '___%%%'
表示模糊匹配,_匹配一个字段,%匹配不确定个字段
DQL
1. 聚合函数
常见的聚合函数:
COUNT()
计算非空值的数量。
SUM()
计算一列数值的总和。
MAX()
返回一列中的最大值。
MIN()
返回一列中的最小值。
AVG()
计算一列数值的平均值。
2. 分组查询
查询数据先通过WHERE的条件进行过滤,随后通过GROUP BY 进行分组,分组之后,又通过HAVING字段来进行过滤分组的结果。
与此同时,HAVING可以对聚合函数进行判断,WHERE则不行.
3. 排序查询
先按字段1排序,再按字段2排序,以此类推
ASC(默认升序,从小到大),DESC(从大到小,降序)
4. 分页查询
LIMIT是如何查询的?假设你要查询第n页,每一页有m条数据,那么起始索引就是 (n - 1) * m。
另一种思路,你查询到的区间可以表示为 (起始索引,起始索引 + 查询记录数]
5. 执行顺序
tips:
关于别名:
列别名:在
SELECT
语句中定义。表别名:在
FROM
子句中定义。子查询别名:在子查询的后面定义。
在定义别名之后,要注意各个语句的执行顺序,只有在执行定义了别名的语句之后才可以在接下来的语句使用别名
DCL
1. 用户管理
操作
语法
说明
查询用户
SELECT * FROM mysql.user;
查看所有用户信息
创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
创建用户,指定用户名、主机名和密码
修改密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_naive_password BY '新密码';
修改用户密码
删除用户
DROP USER '用户名'@'主机名';
删除用户
2. 权限管理
操作
语法
说明
查询权限
SHOW GRANTS FOR '用户名'@'主机名';
查看用户的权限
授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
授予用户对指定数据库或表的权限
撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
撤销用户对指定数据库或表的权限
3. 常用权限列表
权限
说明
ALL
或 ALL PRIVILEGES
所有权限
SELECT
查询数据
INSERT
插入数据
UPDATE
修改数据
DELETE
删除数据
ALTER
修改表结构
DROP
删除数据库、表或视图
CREATE
创建数据库或表
4. 注意事项
主机名:可以使用
%
通配符表示所有主机。权限列表:多个权限用逗号分隔,例如
SELECT, INSERT, UPDATE
。通配符:在授权时,数据库名和表名可以使用
*
通配符,例如*.*
表示所有数据库和表。
最后更新于