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('新密码');
posted @ 2022-01-15 20:19  赤兔胭脂小吕布  阅读(19)  评论(0编辑  收藏  举报