注意:存储引擎修改之后,原始存储引擎的专有特性都会丢失。

例如,如果将一个InnoDB转换成MyISAM存储引擎,再转回来,那么最初在原InnoDB定义的外键都会丢失。

方法-1、ALTER TABLE

mysql> ALTER TABLE mytable ENGINE = InnoDB;

把表从一种存储引擎换成另一种存储引擎最简单的方法就是ALTER TABLE命令。

特点:

a、适合所有存储引擎。

b、转换过程会耗费大量时间。

c、转换时候源表会被读加锁。

方法-2、转储(Dump)和导入(Import)

使用mysqldump工具导出数据表,修改转储文件的CREATE TALBE 语句。

修改点:

a、删除转储文件里的DROP TALBE语句,防止数据转储失败时,源数据也丢失。

b、修改表名,数据库绝对不允许相同的表名出现,即使存储引擎不同。

c、修改存储引擎。

方法-3、CREATE和SELECT

在方法-1的速度和方法-2的安全性之间做了一个平衡。先创建一张表,然后用mysql的INSERT....SELECT语句来转移数据。

mysql>CREATE TABLE innodb_table LIKE myisam_table;
mysql>ALTER TABLE innodb_table ENGINE=InnoDB;
mysql>INSERT INTO innodb_table SELECT * FROM myisam_table;

转载于:https://www.cnblogs.com/liuensong/archive/2012/08/23/10140396.html

表转换存储引擎的方法总结相关推荐

  1. MySQL如何修改表的储存方式_修改mysql默认存储引擎的方法

    修改mysql默认存储引擎的方法,供大家学习参考. 先来了解一下mysql存储引擎: mysql服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上.存储引擎负责管理数据存储,以及my ...

  2. mysql修改存储引擎报错,MySQL改变表的存储引擎

    MySQL提供了多种数据库存储引擎,存储引擎负责MySQL数据库中的数据的存储和提取.不同的存储引擎具有不同的特性,有时可能需要将一个已经存在的表的存储引擎转换成另外的一个存储引擎,有很多方法可以完成 ...

  3. 16、修改数据表的存储引擎

    在前面提到,MySQL 的核心就是存储引擎. MySQL 存储引擎主要有 InnoDB.MyISAM.Memory.BDB.Merge.Archive.Federated.CSV.BLACKHOLE ...

  4. 修改mysql表的存储引擎

    方法一. alter table mytable engine = InnoDB;//将mytable表引擎改为InnoDB. 方法二. 使用mysqldump 将表导出,然后修改 表create t ...

  5. 数据库 - 库表操作 - 存储引擎

    一.库操作: mysql> show databases; +--------------------+ | Database | +--------------------+ | inform ...

  6. linux下查看mysql数据库的字段类型_系统运维|[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型...

    提问: 我想要知道我的MySQL数据库是MyISAM还是Innodb类型.我该如何检查MySQL数据库表的类型? MySQl主要使用两种存储引擎:MyISAM 和 Innodb.MyISAM是非事务的 ...

  7. MySQL 如何查看表的存储引擎

    MySQL 如何查看表的存储引擎   在MySQL中如何查看单个表的存储引擎? 如何查看整个数据库有那些表是某个特殊存储引擎,例如MyISAM存储引擎呢?下面简单的整理一下这方面的知识点. 如果要查看 ...

  8. mysql存储引擎静态表_MySQL存储引擎(表类型)的选择

    一.MySQL存储引擎概述 MySQL与多数数据库不同的是包含存储引擎这一特性,用户可以根据应用的需要选择合适的存储引擎来使存储和索引数据,以及是否使用事务等.MySQL5.0支持的存储引擎包括MyI ...

  9. MySQL查看和修改表的存储引擎

    查看当前支持的存储引擎 mysql> show engines; +--------------------+---------+-------------------------------- ...

最新文章

  1. 2021-07-23 B站观看力扣算法视频第一天
  2. 如何把一个程序中 Edit 中的文本赋给另一个程序的 Edit ? - 回复 Disk_ 的问题
  3. javascript传值和页面跳转传值(ASP.NET页面传参的三种方法)
  4. 网络体系架构—运输层协议概述
  5. 十六进制的几种输出方式
  6. 【PyQt】分析承载界面
  7. 方舟基础物品指令代码大全
  8. dstwo linux 模拟器,dstwo md模拟器使用图文教程
  9. Openfire 即时通讯系统(服务器端+Android客户端)一
  10. 《Cocos Creator游戏实战》打砖块主要功能与逻辑实现
  11. hostapd_cli 使用手册
  12. vue---获取元素额外生成的data-v-xxx
  13. 【LeetCode430】至多包含 K 个不同字符的最长子串
  14. model.predict_classes(test) 和model.predict(test) 区别
  15. buuoj Pwn writeup 246-250
  16. 外资企业申请互联网信息服务经营许可证ICP注意事项有哪些?
  17. 1.8 matlab基本运算(算术运算、关系运算和逻辑运算)
  18. C++高阶 返回值优化--RVO和NRVO介绍
  19. winform pictureBox后台显示图片
  20. 短视频小视频直播app开发定制解决方案

热门文章

  1. 牛津教授揭秘AI革命及其前沿进展
  2. 洪小文: 今天的AI只是一个黑盒,仍需与HI密切配合
  3. 不用恐惧AI的高速发展,论击败阿法狗(零)最简单的方法
  4. 作为程序员,你评估工作量留 buffer 吗?
  5. 漫画 | 产品经理的八大罪状
  6. @程序员,地表最强的 CSDN 原创博主大赛来了!
  7. 来了个假阿里? | 每日趣闻
  8. DTU详解解读 概念到功能应用
  9. 2162112375 Week04-面向对象设计与继承
  10. SHELL脚本自动化部署MFS分布式文件系统