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),
)
插入一个没有部门的员工,删除一个带有员工的部门,这中情况都是不允许发生的,这个时候就需要在多表之间添加外键约束。
 
 
在员工表上添加外键
alter table employee add foreign key (dno) references dept(did);
设置外键为非空
alter table employee modify dno int not null;

多表关系:

一对多
  在多的一方创建外键指向一的一方的主键。
多对多
  需要创建中间表,中间表中至少两个字段,分别做为外键指向多对多双方的主键。
一对一
  方式一:假设是一对多,在多的一方创建外键指向一的一方的主键,将外键设置为unique。
  方式二:将两个表的主键建立对应关系即可。


猜你喜欢

转载自www.cnblogs.com/laodang/p/8981968.html