016-数据库的备份与导入
约束:
一、概念:对表中的数据进行限定,保证输的格式正确性、有效性和完整性。
二、分类:
1、主键约束:primary key
(1)注意:
a.主键默认隐含非空条件和唯一条件
b.一张表只能有一个字段为主键。
c.主键就是表中记录的唯一标识。
(2)创建表时添加主键约束。
CREATE TABLE stu(
id INT PRIMARY KEY,
`name` VARCHAR(20)
);
(3)删除主键约束
ALTER TABLE stu DROP PRIMARY KEY;
(4)创建表后天剑主键约束
ALTER TABLE stu MODIFY id INT PRIMARY KEY;
2、自动增长
注意:
a.自动增长 一般 是配合主键一起使用。
b.自动增长在手动添加是可以写null,它会自动进行累进。
c.如果手动插入一个值,那以后自动增长就会在此数值上增加,哪怕把所有数值都删除,也会如此。
(1)创建是添加自动增长
CREATE TABLE stu(
id INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(20)
);
(2)删除自动增长(注意,看者像是把主键也删除了,但是没有,因为主键删除使用drop,哈哈)
ALTER TABLE stu MODIFY id INT ;
(3)创建表后再添加自动增长
ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
3、非空约束:not null,表示被修饰的那一列不能为null
(1)创建表示添加约束:
CREATE TABLE stu(
id INT,
NAME VARCHAR(20) NOT NULL
);
(2)创建表后添加非空约束
ALTER TABLE stu MODIFY `name` VARCHAR(20) NOT NULL;
(3)删除非空约束
ALTER TABLE stu MODIFY `name` VARCHAR(20);
4、唯一约束:unique,表示被修饰的那一列值不能重复
(1) 创建表是添加唯一性约束
CREATE TABLE stu(
id INT,
`name` VARCHAR(20) UNIQUE);
(2) 运行时添加唯一性约束
ALTER TABLE stu MODIFY `name` VARCHAR(20) UNIQUE;
(3) 删除唯一性约束 --- 比较特殊
ALTER TABLE stu DROP INDEX `name`;
注意:
1、设定为唯一性的列,如果没有添加非空条件,则允许有多个 null.
2、注意删除唯一性的语句比较特殊。
4、外键约束:foreign key
定义:让表与另外一个表产生关系,从而保证数据正确定,不能随便被删,也不能填不在范围内数据。
(1)创建表是添加外键
create table 表名(
….,
外键列,
CONSTRAINT 外键名称 FOREIGN KEY (外键列) REFERENCES 主表名(主表列名);
);
说明:
* 外键名称是自己给这个键定义的名称,一般写作:表A_主表_key,就像给某成立的新组织取名。
* 外键列意思就是从当前表中,找一个列来连接到主表。
* 主表名并不是说这个表是个主要的表,而是被连接的表名,因为一般都被连接的都是主键。
*主表列名就是当前表连接到主表中的哪个列,从而形成两个表之间的关系。
举例:
CREATE TABLE deparment(
id INT PRIMARY KEY AUTO_INCREMENT,
dep_name VARCHAR(20),
dep_location VARCHAR(20)
);
CREATE TABLE employee(
id INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(20),
age INT,
dep_id INT,
CONSTRAINT em_dept_key FOREIGN KEY (dep_id) REFERENCES deparment(id)
);
(2)创建了表之后添加外键
ALTER TABLE 表名ADD CONSTRAINT 外键名称 FOREIGN KEY (外键列) REFERENCES 主表名(主表列名);
(3)删除外键
ALTER TABLE 表名DROP FOREIGN KEY 外键名;
数据库的备份与导入
方式一:通过命令行备份与导入
1、备份
语法格式:mysqldump –u账号名称 –p账号密码 要备份的数据库 > 备份存放路径
2、还原:
(1)、登录mySQL软件
(2)、创建数据库 --- 备份至备份内容,因此导入要重新建好一个房子放这些内容。
create database 数据库名称
(3)、使用数据库:
use 创建的数据库名称
(4)、执行文件:
source 文件路径
方式二:图形化工具
1、备份
a.右键点击需要备份的数据库 –》备份/导出 –》备份数据库,转储到SQL…
b、如何删除数据库
右键需要删除的数据库 –》更多数据库操作 –》 删除数据库
c、如何导入数据库
注意:导入之前最好先创建好一个空的数据库,然后选择该数据库,在执行如下导入操作,否则有些SQLYOG会导入不进。
点击菜单栏 数据库 –》 导入 –》 执行SQL脚本