重置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。
  方式二:将两个表的主键建立对应关系即可。



posted on 2018-05-02 19:15  zeronexyz  阅读(239)  评论(0编辑  收藏  举报