[学习笔记] MySQL数据库基础之SQL(二)

# 学习 # · 2021-11-03

DQL

1、查询SELECT语句的使用:

SELECT 字段列表 FROM 表名列表
WHERE 条件列表
GROUP BY 分组字段列表
HAVING 分组后条件列表
ORDER BY 排序字段列表
LIMIT 分页参数

2、基本查询:

(1)查询多个字段:

SELECT 字段1, 字段2, 字段3 ... FROM 表名;
SELECT * FROM 表名 ;

(2)查询字段时给字段设置别名:

SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名;
SELECT 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... FROM 表名;

(3)查询时去除重复数据:

SELECT DISTINCT 字段列表 FROM 表名;

3、条件查询:

(1)使用条件查询:

SELECT 字段列表 FROM 表名 WHERE 条件列表;

(2)常用的比较运算符:

比较运算符功能
>大于
\>=大于等于
<小于
<=小于等于
=等于
<> 或 !=不等于
BETWEEN...AND...在某个范围之内(含最小、最大值)
IN(...)在IN之后的列表中的值
LIKE模糊匹配(_匹配单个字符,%匹配任意个字符)
IS NULL是NULL

(3)常用的逻辑运算符:

逻辑运算符功能
AND 或 &&
OR 或 \\
NOT 或 !

4、聚合函数:

(1)使用聚合函数:

SELECT 聚合函数(字段列表) FROM 表名;

(2)常见的聚合函数:

函数功能
COUNT统计数量
MAX最大值
MIN最小值
AVG平均值
SUM求和

5、分组查询:

(1)使用分组查询:

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];

(2)where与having区别:

  ①执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

  ②判断条件不同:where不能对聚合函数进行判断,而having可以。

6、排序查询:

(1)使用排序查询:

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2;

(2)排序方式:ASC (升序,默认值)、DESC(降序)。

7、分页查询:

(1)使用分页查询:

SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数;

(2) 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。


DCL

1、管理用户:

(1)查询用户:

SELECT * FROM mysql.user;

(2)创建用户:

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

(3)修改用户密码:

ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';

(4)删除用户:

DROP USER '用户名'@'主机名';

2、权限控制:

(1)查询权限:

SHOW GRANTS FOR '用户名'@'主机名';

(2)授予权限:

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

(3)撤销权限:

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
如无特殊说明,本博所有文章均为博主原创。

如若转载,请注明出处:一木林多 - https://www.l5v.cn/archives/340/

评论