如何將mysql數據庫中的MyISAM類型表更改成InnoDB類型的表mysql
改單個表sql
ALTER TABLE TABLENAME ENGINE=InnoDB; ALTER TABLE TABLENAME 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;
使用說明:spa
1. 將以上SQL語句中的 DBNAME 替換成須要修改的數據庫名稱。code
2. 執行SQL,這個時候尚未修改,只是給了一個查詢結果。orm
3. 將查詢結果複製,去掉先後的引號,而後執行。blog
批量修改mysql數據庫字符集ip
ALTER DATABASE DBNAME DEFAULT CHARACTER SET='utf8';
mysql數據庫表字段亂碼,鏈接數據庫時設置正確的編碼便可ci
mysql_query('set names utf8');
zencart示例
Mysql修改表、字段、庫的字符集 ALTER DATABASE `zc139` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `news_articles` ENGINE=INNODB; ALTER TABLE `news_articles_text` ENGINE=INNODB; ALTER TABLE `news_authors` ENGINE=INNODB; ALTER TABLE `news_comments` ENGINE=INNODB; ALTER TABLE `news_comments_description` ENGINE=INNODB; ALTER TABLE `popular_searches` ENGINE=INNODB; ALTER TABLE `un_products_to_wishlists` ENGINE=INNODB; ALTER TABLE `un_wishlists` ENGINE=INNODB; ALTER TABLE `news_articles` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `news_articles_text` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `news_authors` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `news_comments` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `news_comments_description` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `popular_searches` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `un_products_to_wishlists` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `un_wishlists` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;