找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 武汉16期-邓鹏 于 2022-6-5 21:11 编辑

备份表、表数据
create table test1 like test;===》创建test1表,表结构跟test一致
insert into test1 select * from test;  ===》往test1表里面插入test表中所有的数据
insert into test2(name,class) select name,class from test;===》指定字段插入数据
注:插入的表必须存在,插入的表是新表,没有数据

备份库--》(linux界面进行操作)
mysqldump -uroot -p123456 dcs16>/dcs16/dcs16.sql   
把dcs16这个库备份放到根目录下的dcs16文件夹下,dcs16.sql

把根目录下的文件还原到dcs16_bak库中
mysql -uroot -p123456 dcs16_bak注:dcs16_bak库要先存在

用户权限
use  mysql  ===》存放数据库的用户
select host,user,password from user;
localhost  和 127.0.0.1  表示是本地用户==》可以通过centos跟xshell对数据库进行操作的用户
%  代表的是具有远程访问权限的用户 ===》可以通过数据库客户端工具进行连接操作

1、往user表中新增一个dcs16的用户
insert into user(host,user,password) values("localhost","dcs16",password('123456'));
2、查看新增的用户权限
show grants for 'dcs16'@'localhost';
报错如下,表示没有权限
ERROR 1141 (42000): There is no such grant defined for user 'dcs16@localhost' on host '%'
USAGE ON  表示没有权限
GRANT USAGE ON *.* TO 'dcs16'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
3、刷新加载权限表
flush privileges;
4、再次查看权限
show grants for 'dcs16'@'localhost';
5、赋权
grant select,update on *.* to 'dcs16'@'localhost' identified by '123456';
6、加载权限
flush privileges;
7、再次查看权限
show grants for 'dcs16'@'localhost';
显示已有赋权的权限(SELECT, UPDATE)
| GRANT SELECT, UPDATE ON *.* TO 'dcs16'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
8、移除本地用户dcs16所有的权限
revoke all on *.* from 'dcs16'@'localhost';
9、创建用户同时赋予全部权限
grant all privileges on *.* to "root"@"%" identified by "123456";
10、删除用户
delete from user where user='dcs16';
11、修改密码
update user set password=password('123456') where user='root';修改 root用户的密码

nacicat连接不上:
1、用户是否具有远程访问权限
进行赋权
grant all privileges on *.* to "root"@"%" identified by "123456";
2、关闭防火墙(linux界面操作)
service iptables stop
3、检查mysql服务是否存在
service mysql start

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

两表当中字段的值相同时,则可以进行关联查询
1、普通连接(取两表之间交集的部分)
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、右连接(右边的表数据全部显示,左边的表符合条件的显示,不符合的用null填充;已右边为基准)
select * from aa RIGHT JOIN cc on aa.id=cc.s_id;
5、硬连接--追加(两张表的字段数量必须相同)
select id from aa
UNION
select score from cc;
【处理中文乱码问题】
1.vim /etc/my.cnf ==>编辑数据库配置文件
2.加入character_set_server=utf8
3.重启数据库 service mysqld restart
4.在navicat-->编辑数据库 把属性修改为utf-8编码格式



分享至 : QQ空间
收藏

0 个回复

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