找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 武汉18期谭袁 于 2022-8-7 19:18 编辑

备份表
create table kfc like hua;   创建一个kfc表,表结构跟hua表一致
insert into kfc select * from hua; 往kfc表里面插入hua表中所有的数据
insert into mdn (id,hm,bh)select id,hm,bh from hua;;==》往mdn表里面插入hua表中的id, hm , bh字段对应的数据
注意:插入的表是必须存在 插入的表是新表 没有数据

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

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

流程:
1.往user表新增一个dcs18的用户
insert into user(host,user,password)values('localhost','dcs18',password('123456'));
2.show grants for 'dcs18'@'localhost';; ==》查看是否有权限
3.flush privileges; ==》加载权限
4. grant select,update on *.* to 'dcs18'@'localhost' identified by '123456';==开始赋权
*. *表示所有数据库里面的表的表数据
5.show grants for 'dcs18'@'localhost'; ==》再次查看权限,具有查询、更新的权限
6.revoke all on *.* from 'dcs18'@'localhost'; ==》移除本地用户dcs18的所有权限

新建远程用户并赋予所有权限
grant all privileges on . to 'dcs18'@'%' identified by '123456';
删除本地用户
delete from user where user='dcs18' and host='localhost';
update user set password=password('123456') where user='root';修改 root用户的密码
navicat如果连接不上
1 ) service mysqld restart ==》重启数据库2) service iptables stop==》关闭防火墙

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

两个表中字段的值相同时则可以进行拼接
1.基本连接(取aa,cc表交集部分)
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.5.硬连接--追加(2张表的字段数量必须相同)
select * from aa
UNION
select *from cc;


求张三成绩
1.临时表
select * from aa,cc where aa.id=cc.s_id;

select t.score from(select * from aa,cc where aa.id=cc.s_id)as 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'; ==》先求出学号
select score from cc where s_id=(select id from aa where name='zhangsan');

嵌套'in'
select score from cc where s_id 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);


【处理msyql数据库中文乱码的问题】
  • vim /etc/my.cnf ==>数据库的配置文件2)加入这行character_set_server=utf83)重启数据库
  • dcs这个库右键属性把latin为utf8编码格式(utf8--UTF-8 Unicode)排序规则utf8_general_ci















分享至 : QQ空间
收藏

0 个回复

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