1. 导入employees.sql
.sql目录下shift+右键
打开PowerShell ⇒ mysql -u lsang -p
输入密码:1234
进入mysql ⇒ 命令:source employees.sql
。
2. 查看mysql数据库文件存储位置,文件介绍:
show global variables like "%datadir%";
1) .frm文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,都有这个文件。
2) 使用MyISAM存储引擎:
.MYD文件:即MY Data,表数据文件;
.MYI文件:即MY Index,索引文件;
.log文件:日志文件;
3) 使用InnoDB存储引擎:
InnoDB采用表空间(tablespace)来管理数据,存储表数据和索引;
ibdata1文件: 系统表空间文件,存储InnoDB系统信息和用户数据库表数据和索引,所有表共用;
.ibd文件 :单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引;
日志文件 : ib_logfile1、ib_logfile2;
3. 删除所有外键约束
USE `sakila`;
SELECT GROUP_CONCAT(CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,' ;') SEPARATOR '' )
FROM information_schema.TABLE_CONSTRAINTS c
WHERE c.TABLE_SCHEMA='sakila' AND c.CONSTRAINT_TYPE='FOREIGN KEY';
复制产生的命令并执行。
4. InnoDB存储引擎转换为MyISAM存储引擎
USE `sakila`;
SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=MyISAM; ') SEPARATOR '' )
FROM information_schema.TABLES AS t
WHERE TABLE_SCHEMA = 'sakila' AND TABLE_TYPE = 'BASE TABLE';
复制产生的命令并执行 ⇒ show table status from sakila