MySQL问题汇总

本文档介绍了如何在MySQL中导入.sql文件,查看数据库文件存储位置,理解.frm、.MYD和.MYI等文件的作用。同时,提供了删除所有外键约束的SQL命令,并展示了将InnoDB存储引擎转换为MyISAM的步骤。
摘要由CSDN通过智能技术生成
1. 导入employees.sql

.sql目录下shift+右键打开PowerShellmysql -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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值