MySQL的使用上课笔记(5)--MySQL的小细节、管理用户,授权
关于<>,<=>
有些时候会看到<>,<=>这两个符号,其实就是<>(!=),<=>(=)
关于去重distinct
使用distinct一般直接跟在select后面,针对后面的所有字段去重
在使用count()的时候也可以在括号中加distinct,对被聚合的字段进行去重
#例如:count(distinct id)
关于where 筛选
between...and... #[ , ] 左闭右闭
关于排序 order by ……
order by 字段1 [asc|desc] , 字段2 [asc|desc] ,……
#排序规则:先按字段1排序完毕之后,在按字段二进行排序,……
关于insert语句一次性插入多条数据
#例如
INSERT INTO emp(NAME,gender,salary,join_date,dept_id)
VALUES ('孙悟空','男',7200,'2013-02-24',1),
('猪八戒','男',3600,'2010-12-02',2),
('唐僧','男',9000,'2008-08-08',2),
('白骨精','女',5000,'2015-10-07',3),
('蜘蛛精','女',4500,'2011-03-14',1);
一般笛卡尔积出现的原因
进行关联的时候(……join……on……)on后面的关联条件中含有重复数据
DCL:管理用户,授权(常用操作)
创建用户
1、切换到mysql库中
use mysql;
2、查看MySQL的用户
#mysql库中有个user表
select user,host from user;
#查看用户
3、创建用户
create user '用户名'@'主机名' identified by '密码';
#例如创建一个locuser用户限定在localhost(本机)上登陆,密码是123456
create user 'locuser'@'localhost' identified by '123456';
#如果报错显示你的密码过于简单,则需要关闭MySQL密码复杂性的验证即可
给用户授权
1、授权
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名' [with grant option];
# with grant option 表示带上授权的功能
#例如
-- 将表db3.account的SELECT ,DELETE, UPDATE权限授予用户'lisi'@'%'
GRANT SELECT ,DELETE, UPDATE ON db3.account TO 'lisi'@'%';
# % 代表任意主机
-- 给zhangsan用户所有权限
GRANT ALL ON *.* TO 'zhangsan'@'localhost'
2、刷新权限
flush privileges;
撤销权限
格式
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
修改用户密码
格式
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');