-- 条件查询
-- select 字段列表 from 表名 where 条件列表
-- 条件列表 可以是一系列运算符,比较运算符,逻辑运算符。
select * from joker where age = 20;
select id from joker where age <= 21; -- 字段列表的意思也就是上面的内容,什么id啊,什么什么的
select * from joker where age between 20 and 21;-- 查年龄在20-21岁之间的人
select * from joker where age = 20 and id = 1; -- and 的用法就是,可以同时检索两个条件
-- 聚合函数 注意:所有的null值是 不参与运算的
select avg (age) from joker; -- 用聚合函数求年龄的平均值
select count(age) from joker; -- 求总数
select max(age) from joker; -- 求最大值
select min(age) from joker;-- 求最小值
select sum(age) from joker; -- 求年龄总和
-- 分组查询 group by
-- select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件]
-- where 和having 的区别
-- 执行时机不同: where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
-- 判断条件不同: where不能对聚合函数进行判断,而having可以
select gender,count(*) from joker where age < 21 group by gender ;
-- 执行顺序:where> 聚合函数 > having
-- 排序查询
-- 升序为asc (此为默认),降序为desc
-- select 字段列表 from 表名 order by 字段1 排序方法1,字段2 排序方法2;
select * from joker order by id desc; -- 降序排序
-- 如果出现第二个字段,则说明第一个字段有相同的话,就按照第二个字段的来排序,先按照一的来,如果有相同的,再按照二的来
-- 分页查询 (limit)
-- select 字段列表 from 表名 limit 起始索引,查询记录数;
select * from joker limit 0,2;
select * from joker limit 1,2;
select * from joker limit 3,2;
-- DQL运行顺序 先from - where - group by - having - select - order by - limit
-- DCL用来管理数据库 用户,控制数据库的访问权限
-- 创建用户 create user '用户名'@'主机名' identified by '密码'
-- 本机访问的数据库
create user 'itcast'@'localhost' identified by '123456';
-- 可以在任意主机访问的数据库的符号是%;
create user 'itshabi'@'%' identified by '123456';
-- 修改用户密码
alter user 'itshabi'@'%' identified with mysql_native_password by'123';
-- 删除用户
drop user 'itshabi'@'%';