mysql备份外键丢失_MySQL密码重置&数据库备份还原&外键约束(多表关系)

重置mysl密码:

1:停止mysql服务;

2:在cmd下启动mysqld服务

mysqld --skip-grant-tables (绕过权限进入mysql)

3:重新开启cmd命令行(登录mysql不需要输入密码)

4:修改root密码

a:use mysql;

b:update user set password = password('abc') where user = 'root';

5:结束mysqld的进程

6:重启mysql服务

数据库的备份:

cmd命令行窗口下(mysqldump -u root -p 要备份的数据库名称 > 目标路径)

数据库的还原:

第一种:cmd命令行窗口下(mysql -u root -p 要备份到的数据库名 < 已备份文件路径)

第二种:切换到要备份到的数据库下,使用soure备份(use mydb; source 已备份文件路径)

多表设计之外键约束:

创建一个部门表:

create table dept(

did int primary key auto_increment,

dname varchar(20)

)

创建一个员工表:

create table employee(

eid int primary key auto_increment,

ename varchar(20),

salary double,

birthday date,

sex varchar(10),

dno int

)

插入一个没有部门的员工,删除一个带有员工的部门,这中情况都是不允许发生的,这个时候就需要在多表之间添加外键约束。

在员工表上添加外键

alter table employee add foreign key (dno) references dept(did);

设置外键为非空

alter table employee modify dno int not null;

多表关系:

一对多

在多的一方创建外键指向一的一方的主键。

多对多

需要创建中间表,中间表中至少两个字段,分别做为外键指向多对多双方的主键。

一对一

方式一:假设是一对多,在多的一方创建外键指向一的一方的主键,将外键设置为unique。

方式二:将两个表的主键建立对应关系即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值