一、mysql数据库的备份及恢复
备份数据库表中的数据
cmd> mysqldump -u 用户名 -p 数据库名 > 文件名.sql mysqldump -uroot -p db_name > d:/1.sql
恢复数据库
(注意:如果数据库已经删除,先创建数据库再恢复数据。)
方式一: 在cmd中: mysql –u 用户名 -p 数据库名 < 文件名.sql mysql -uroot -p db_name < d:/1.sql mysql -uroot -p mydb3 < d:/1.sql 方式二: 在mysql客户端中 source 文件名.sql source d:/1.sql
二、 mysql多表设计
1、多表设计——外键约束
定义外键约束
foreign key(ordersid) references orders(id)
多表设计中常常伴随着外键约束的产生。
2、多表设计中三种实体关系
- M:N的联系引入关系表
联系的属性及两个实体的主标识形成关系表。
关系表的主键为两个实体主标识的组合。
参加表
(E1,P1,percent)
雇员表
(E1,E2)
项目表
(P1,P2,P3)
- 1:N 的联系可不引入关系表
将关系的属性及非多方的主标识加入到多方表
多方表的外键是非多方实体的主标识
老师表
(Tid,Tname,Tsex)
课程表
(Cid,Cname,Tid,allowance)
三、mysql外键约束
1、外键:
- 用来通知数据库表与表字段之间的对应关系, 并让数据库帮我们维护这样关系的键就叫做外键
- 外键作用: 维护数据的完整性 一致性
定义外键约束
foreign key(ordersid) references orders(id)
2、实例:
新建部门表dept(id,name)
通过外键约束建立与员工表emp关系
create table dept( id int primary key auto_increment, name varchar(20) ); insert into dept values(null, '财务部'); insert into dept values(null, '人事部'); insert into dept values(null, '科技部'); insert into dept values(null, '销售部'); create table emp( id int primary key auto_increment, name varchar(20), dept_id int, foreign key(dept_id) references dept(id) ); insert into emp values(null, '张三', 1); insert into emp values(null, '李四', 2); insert into emp values(null, '老王', 3); insert into emp values(null, '赵四', 4); insert into emp values(null, '刘能', 4);