MYSQL基础复习 | 青训营

59 阅读2分钟

3.DQl

完整语法:

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

条件查询

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

image-20210722190508272.png 模糊查询

使用关键字like,利用通配符进行查询;"_"代表单个字符,"%"代表任意个数字符。

例如:"张%"表示查询所有姓张的数据,"_张%"表示查询第二个字为张的所有数据(只有两个字符),"_张%"表示查询第二个字是张的所有数据(字符数不限)。

排序查询

使用ORDER BY关键字(SQL中关键字大小写不影响,但要注意操作系统,linux下默认对大小写敏感)

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] …;(如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序)

ASC:升序排序(默认值)

DESC:降序排序

聚合函数

函数名功能
count(列名)统计数量(一般选用不为null的列)
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(列名)平均值

语法:SELECT 聚合函数名(列名) FROM 表;

分组查询

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

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义(其他字段会产生无意义报错)

分页查询

语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询条目数;(起始索引是从0开始)

4.DCL

DCL管理用户:

查询用户
SELECT *FROM user;
创建用户
CREAT USER '用户名'@'主机名' IDENTIFIED BY'密码';
修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
删除用户
DROP USER '用户名'@'主机名';

权限控制

权限说明
ALL,ALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表
查询用户权限
SHOW GRANTS FOR'用户名'@'主机名';
授予用户权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
撤销用户权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';