MySQL基础
1.MySQL里的通配符要配合like使用
比如:select name from student where name regexp ‘[0-5]abc’
2.MySQL查询语句之聚集函数与GroupBy分组:
- 聚集函数的使用:
count()函数 返回某列的行数 不会通过值为null的行
max() ,min(),sum(),最大值,最小值,某列值之和
avg() 某列的平均值
- - 起别名:
e.g. max(age) as max_age 查询结果的列名字就是后者
- - Group分组
允许把数据分为多个逻辑组,比如统计每个班有多少人;
如果:上面分完组之后,还需要对结果数据处理怎么办?
答:使用关键字 having
在上面sql语句的末尾加上having 条件,这个条件只能是上一次查询结果的字段。
区别:where , having
答:where用于过滤行,having用于过滤分组后的数据
注意:select class_id ,class_name , count(*) as nums from student group by class_id; 不符合MySQL的标准模式,应该写成:
select class_id ,class_name , count(*) as nums from student group by class_id , class_name;
3.关于MySQL数据库授权操作的管理
root 用户时最高级别的,为了安全,千万不能用在项目中
可以给不同的用户给与不同的授权,用来测试。
- grant 授权的操作 on 授权的库.授权的表 to 账户@登录的IP地址 identified by "密码”
e.g. grant select , insert on ujiuye.* to zhangsan@“%” identified by "123456" ;
给zhangsan 授予 查询,添加的权限,作用范围在ujiuye数据库下的所有表,%表示IP地址不限,密码为123456
# 删除用户 drop user "zhangsan"@"%";