MySQL系统学习2

一.DQL

DQL

数据查询语言,用来查询数据库中表的记录

基础查询

查询字段:

SELECT 字段名 FROM 表名;

查询多个字段:

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

条件查询

语法:
SELECT 字段名 FROM 表名 WHERE 条件列表;

条件一般为比较运算符或逻辑运算符,当然,也可能两者同时存在

比较运算符

 

运算符作用
=等于
<=>安全的等于
<> 或者 !=不等于
<=小于等于
>=大于等于
大于
IS NULL 或者 ISNULL判断一个值是否为空
IS NOT NULL判断一个值是否不为空
BETWEEN AND判断一个值是否落在两个值之间

逻辑运算符

逻辑运算符作用
AND 或 &&并且(多个条件同时成立)
OR 或 ||或者(多个条件任意一个成立)
NOT 或 !非,不是

例如在student表中寻找年龄小于19岁的

select * from student where age < 19;

聚合查询

聚合查询需要用到聚合函数

常见聚合函数:

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

语法:
SELECT 聚合函数(字段名) FROM 表名;
例:
SELECT count(id) from student where age = 19;

查询student表中年龄等于19岁的学生数量

分组查询

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

PS:[WHERE]和[HAVING]的区别是执行的时间不同,[WHERE]执行在分组前,被[WHERE]过滤的不参与分组,[HAVING]执行在分组之后,在分组之后的数据进行过滤 ,并且[WHERE]不能对聚合函数进行判断

例:
SELECT count(*) from student group by gender;

根据性别分组统计student表中男女生的数量

排序查询

语法:
SELECT 字段列表 FROM 表名 ORDER BY 字段名 排序方式;

排序方式:

ASC 升序排序

DESC 降序排序

PS:ASC为默认排序方法,当未指定排序方法时,按照升序排序

SELECT * FROM student ORDER BY age ASC;

按照年龄升序对学生排序

PS:当同时存在多个字段时只有当上一个字段的值相等时才会比较后面字段的值

分页查询

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

PS:起始索引从0开始,起始索引 = (查询页码 - 1) * 每页显示记录数,如果查询的是第一页数据,起始索引可以省略,直接简写 LIMIT 10

二.DCL

数据控制语言,用来创建数据库用户、控制数据库的控制权限

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

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

删除用户:
DROP USER '用户名'@'主机名';

例:

创建用户'周忠泉'能在任意主机访问密码为123456

create user '周忠泉'@'%' identified by '123456';

PS:'%'表示主机的通配名,在此次表示允许任意主机访问

权限控制

常用权限:

权限说明
ALL, ALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表

查询权限:
SHOW GRANTS FOR '用户名'@'主机名';

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

撤销权限:
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

PS:数据库名和表名可以用'*'通配,如果同时授予多个权限,用','隔开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值