找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 武汉18期李欣康 于 2022-8-7 22:32 编辑


备份库
mysqldump -uroot -p123456 dcs18>/dcs18/dcs18.sql
这个库备份放到dcs18目录的dcs18.sql文件中
mysql -uroot -p123456 dcs182把dcs18目录下的dcs18.sql文件还原到dcs182这个数据库中
注意:dcs182要先存在,不然会找不到对应的库

用户权限
use MySQL; 进入数据库
show tables;看表
select host,user,passwod from user; 查看有哪些用户
localhost和127.0.0.1表示本地用户 可以通过centos和xshell对数据库进行操作的客户端
%代表的是具有远程访问权限的用户 可以通过数据库客户端进行远程操作;

新增用户:
1.往user表里新增一个dcs18的用户:
insert into user(host,user,password)values ('localhoast','dcs18',password(123456))
2.查看刚刚这个dcs18的权限
show grants for 'dcs18'@'localhost';
此时会报错 没有权限,因为本来新建的时候就没有给权限
3.此时刷新一下:flush privileges;
再次查询show grants for 'dcs18'@'localhost';---》继续显示没有权限,但显示出来的方式不一样
4.赋予权限:
grant select,update on *.* to 'dcs18'@'localhost' identified by '123456';
  *.*   代表所有的库里的所有的表
5.再次查看show grants for 'dcs18'@'localhost';  --》此时会显示具有select和update的权限
6.移除权限  revoke all on *.* from 'dcs18'@'localhoat';
7.创建用户时就赋予权限(这个时建的远程用户)
grant all privileges on *.* to 'dcs18'@'%' identified by '123456';
8.删除本地用户dcs18
delete from user where user='dcs18' and host='localhost';
9.修改用户root的密码:update user set password=password('123456') where user='root';


下载Navicat(老师发在群里的安装包)
进入界面输入注意:
名字自己起,主机填服务器ip地址,下一个是3306,下一个填自己建的那个远程用户名,填密码,再点连接、确定
连接不上的解决办法:
1.确认是否有远程用户
2.在Linux界面停止防火墙,命令: service iptables stop
3.确认启动mysql服务

ctrl+q 新建一个窗口
ctrl+w 关闭当前窗口
单行注释:用#号,被注释的语句不会被执行
多行注释:用/* 注释内容 */

两个表中字段的值相同则可以进行拼接
1.基本连接(去cc,aa表交集部分)
select*FROM aa,cc WHERE aa.id=cc.s_id;
2.内连接
select *from aa inner join cc on aa.id=cc.s_id;
3.左连接(左边表中数据全部显示,右边表符合条件的显示,不符合条件的填充null,以左边为主)
select *from  aa left join cc on aa.id=cc.s_id;
4.右连接(右边表中数据全部显示,左边符合条件的显示,不符合条件的填充nbll,以右边为主)
select*from aa right join cc on aa.id=cc.s_id;
硬连接--追加
select*FROM aa
UNION
select*from cc;

求张三的成绩
1.临时表
select*from aa,cc where a.id=c.s_id;
select t.score from (select*FROM aa,cc WHERE aa.id=cc.s_id)t where t.name="zhangsan";

2.基本连接
select cc.score from aa,cc where aa.id=cc.s_id and aa.name="zhangsan";

3.嵌套方法(=和in的区别,=只能是一个值,in后面可以跟多个值)
select id from aa where name ="zhangsan"; 先求出学号
seect score from cc where s_sid in(select id from aa where name ="zhangsan");


求谁没参加考试
左连接
select aa.name from aa left join cc on aa.id=cc.s_id where cc.score is null;
右连接
select aa.name from cc RIGHT JOIN aa on aa.id=cc.s_id where cc.score is null;
基本连接+嵌套
select name from aa where aa.id not in(select id from aa,cc where aa.id=cc.s_id);
嵌套
select name from aa where id not in(select s_id from cc);



分享至 : QQ空间
收藏

0 个回复

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