找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

10.22 第十一课 数据库的权限

[复制链接]
用户权限
use mysql :进入到mysql的数据库
select host,user,password from user;:查看当前有哪些用户,以及用户的访问权限
localhost和127.0.0.1   :表示本地用户,可以通过xhell和centos对数据库进行操作
host 代表的是一种文件类型
%代表具有访问权限的用户,可以通过数据库的客户端进行链接操作,比如navicate、、
数据库访问失败的原因:
1、用户没有远程访问的权限 :select host,user,password from user
2、防火墙没有关  :service iptable stop 关闭防火墙
service iptables status  查看防火墙状态
3、数据库没有启动
service mysqld restart  重启数据库

1、往user表里面增加一个dcs21的胡勇,(本地访问权限)
insert into user(host,user,password)values('localhost','dcs20',password('123456'));

2、查看用户增加是否成功
select host,user,password from user;
flush privileges;  刷新
3、查看是否有权限
show grants for ‘dcs20’@‘locahost’;
4、赋予用户远程访问权限
grant select,update,delete on . to 'dcs20'@'%'identified by '123456';
5、新建一个用户赋予远程访问权限
grant all privileges on *.* to 'dcs'@'%' identified by '123456';

6、修改用户密码
update user set password = password('234567') where user = 'dcs';
7、移除所有权限
reboke all on *.* from 'dcs'@'%';
8、删除用户
delete from user where host = '%'and user= 'dcs20';


【多表】
create table aa(id int(1) PRIMARY key,name char(20));
create table cc(s_id int(1) PRIMARY key,score char(20));
insert into aa(id,name)values(1001,'zhangsan'),(1002,'lisi');
insert into cc(s_id,score)values(1001,'99');

1、基本连接 (取两张表中交集部分),两张表
数据量相同的时候可以采用基本连接

2、内连接(取两张表中交集部分),两张表
数据量相同的时候可以采用内连接
SELECT * FROM aa INNER JOIN cc ON aa .id = cc .s_id;
关键字:inner join .....on
3、左连接(以左表为基准,左表的数据全部显示,右表的数据符合条件的显示,不符合左表条件的,以null值填充)
SELECT * FROM aa LEFT JOIN ccon aa .id = cc.s_id;
关键字:left join......on

4、右连接,(以右表为基准,右表的数据全部显示,左表的数据符合条件的显示,不符合右表条件的,以null值填充)
SELECT * FROM cc RIGHT JOIN aa ON aa.id = cc.s_id;
关键字:right join .....on

5、硬连接,(前提条件,多个关系表的表字段数目必须相同)
SELECT * FROM aa UNION SELECT * FROM cc;
关键字:union







分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册