SQL引擎及事务支持

北慕城南 提交于 2019-12-03 04:53:47

查看当前表引擎

SHOW CREATE TABLE table_name

 

MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。

 

 

更改MyISAM类型表为InnoDB类型的表

ALTER TABLE table_name ENGINE=InnoDB;
ALTER TABLE table_name ENGINE=MyISAM;

 

一次修改多个表

#修改为InnoDB
SELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;' )
FROM information_schema.tables
WHERE table_schema = 'DBNAME'
LIMIT 0 , 10000;#修改为MyISAM
SELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, ' ENGINE=MyISAM;' )
FROM information_schema.tables
WHERE table_schema = 'DBNAME'
LIMIT 0 , 10000;

使用说明:

1. 将以上SQL语句中的 DBNAME 替换成需要修改的数据库名称。

2. 执行SQL,这个时候还没有修改,只是给了一个查询结果。

3. 将查询结果复制,去掉前后的引号,然后执行。

 

 

批量修改字符集

ALTER DATABASE DBNAME DEFAULT CHARACTER SET='utf8';

 

 

数据库表字段乱码

mysql_query('set names utf8');

 

 

查询当前实例中储存引擎为MyISAM的表

select table_catalog
,table_schema
,table_name
,engine
from information_schema.tables
where engine='MyISAM';

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!