mysql-mysql学习详记三&&数据库的备份及恢复&&多表设计&&外键约束

一、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);

 

你可能感兴趣的:(mysql,mysql,数据库)