MySQL修改数据表存储引擎的3种方法介绍

MySQL作为最常用的数据库,经常遇到各种各样的问题。今天要说的就是表存储引擎的修改。有三种方式,列表如下。

1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。

代码如下:

ALTER TABLE my_table ENGINE=InnoDB

2.导出,导入。这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去。用mysqldump ,枫哥常用的是navicate那样更容易上手。友情提醒风险较大。

3.创建,插入。这个比第一种速度快, 安全性比第二种高,推荐。分2步操作

a.创建表,先创建一个和要操作表一样的表,然后更改存储引擎为目标引擎。

代码如下:

CREATE TABLE my_tmp_table LIKE my_table;
ALTER TABLE my_tmp_table ENGINE=InnoDB;

b.插入。为了安全和速度,最好加上事务,并限制id(主键)范围。

代码如下:

INSERT INTO my_tmp_table SELECT * FROM my_table;

就到这里,希望对需要的同学有帮助。

(0)

相关推荐

  • MYSQL修改所有表的存储引擎格式语句

    复制代码 代码如下: SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=ARCHIVE; ') SEPARATOR '' ) FROM information_schema.TABLES AS t WHERE TABLE_SCHEMA = 'userinfo' AND TABLE_TYPE = 'BASE TABLE' -- 将语句粘出来,执行:

  • MySQL修改默认存储引擎的实现方法

    mysql存储引擎: MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上.存储引擎负责管理数据存储,以及MySQL的索引管理.通过定义的API,MySQL服务器能够与存储引擎进行通信.目前使用最多的是MyISAM和InnoDB.InnoDB被Oracle收购后,MySQL自行开发的新存储引擎Falcon将在MySQL6.0版本引进. MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table

  • MySQL存储引擎总结

    前言 在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库.而在设计表的时候,我们都会关注一个问题,使用什么存储引擎.等一下,存储引擎?什么是存储引擎? 什么是存储引擎? 关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式.有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差:而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的

  • Mysql更改默认引擎为Innodb的步骤方法

    前言 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定. 基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能. 我为什么要改默认引擎,其实原因很简单,我使用的Mysql默认引擎是MyISAM,而MyISAM并不支持事务处理,所以我需要更换它的引擎. 更改 Mysql 默

  • 如何选择合适的MySQL存储引擎

    MySQL支持数个存储引擎作为对不同表的类型的处理器.MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎: ◆ MyISAM管理非事务表.它提供高速存储和检索,以及全文搜索能力.MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎. ◆ MEMORY存储引擎提供"内存中"表.MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表.就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引

  • MySQL修改数据表存储引擎的3种方法介绍

    MySQL作为最常用的数据库,经常遇到各种各样的问题.今天要说的就是表存储引擎的修改.有三种方式,列表如下. 1.真接修改.在数据多的时候比较慢,而且在修改时会影响读取性能.my_table是操作的表,innoDB是新的存储引擎. 复制代码 代码如下: ALTER TABLE my_table ENGINE=InnoDB 2.导出,导入.这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去.用mysqldump ,枫哥常用的是navicate那样更容易上手.友情提醒风险较大. 3.创建

  • 一文详解MySQL中数据表的外连接

    目录 为什么要使用外连接 外连接简介 左连接与右连接 外连接练习① 外连接练习② 该章节的内容为多表连接查询的外连接,因为 MySQL 是关系型数据库,数据是拆分重组在多个数据表里面的.所以我们势必要从多个数据表中提取数据,通过 SQL 语句的内连接与外连接就能够实现多表查询了.这部分内容是需要我们重点学习的,学习的过程中会穿插多种的案例来强化对表连接的语法的运用. 为什么要使用外连接 在解释为什么使用 “外连接” 之前,先来看一个记录.(如下:) 针对表中的张三没有所属的部门编号,我们暂且将他

  • MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条"MyISAM支持GIS数据,InnoDB不支持.即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等." 作为一个地理信息系统专业的学生(其实是测绘专业)来讲,能存储空间数据的数据库才是好数据库,原谅我是数据库小白的身份. 有三种方式可以设定数据库引擎: (1)修改配置文件 将安装目录下~\MySQL\mysql-5.6

  • MySQL 选择合适的存储引擎

    对于数据库这一块询问比较多的就是在 MySQL 中怎么去选择一种何时当前业务需求的存储引擎,而 MySQL 中支持的存储引擎又有很多种,那么 MySQL 中分别又有那些,怎么优雅的使用呢? 划分引擎原因 在文件系统中,MySQL 将每个数据库(也可以称之为 schema )保存为数据目录下的一个子目录.创建表时,MySQL 会在数据库子目录下创建一个和表同名的 .frm 文件保存表的定义.例如创建一个名为 DebugTable 的表,MySQL 会在 DebugTable.frm 文件中保存该表

  • Mysql数据库支持的存储引擎对比

    目录 存储引擎 MySQL支持的存储引擎 并发控制 锁 锁颗粒 事务 外键 索引 各种存储引擎的特点 存储引擎 Mysql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎. 每一种存储引擎使用不同的存储机制.索引技巧.锁定水平,最终提供广泛且不同的功能. MySQL支持的存储引擎 MyISAM InnoDB Memory CSV Archive 并发控制 当多个连接对记录进行修改时保证数据的一致性和完整性. 锁 1.共享锁(读锁):在同一时间段内,多个用户可以读取同一个资源,读

  • MYSQL 浅谈MyISAM 存储引擎

    思维导图 介绍 mysql中用的最多存储引擎就是innodb和myisam.做为Mysql的默认存储引擎,myisam值得我们学习一下,以下是我对<高性能MYSQL>书中提到的myisam的理解,请大家多多指教. 特点 > 不支持事务 证明如下: >> 表记录:t2表的engine是myisam. >> 操作 注意:如果你在数据库进行事务操作,但是事务无法成功,你就要看你的表引擎了,看这种引擎是否支持事务. >> 下面请看innodb中的事务操作 &g

  • MySQL对数据表已有表进行分区表的实现

    目录 操作方式 操作过程 对现有的一个表进行创建分区表,并把数据迁移到新表,可以按时间来分区,然后这表不是实时更新,每天有一次插入操作. 时间比较充裕,但是服务器上有其他应用,使用较小资源为主要方式. 操作方式 @1 可以使用ALTER TABLE来进行更改表为分区表,这个操作会创建一个分区表,然后自动进行数据copy然后删除原表, 猜测服务器资源消耗比较大. 类似操作 ALTER TABLE tbl_rtdata PARTITION BY RANGE (Month(fld_date)) ( P

  • MySQL修改数据的超详细教程

    目录 更新/修改数据 只改想改的数据: 修改全部数据: 修改表结构: 修改数据类型: 修改字段名: 修改表之增加主键: 修改表名: 建表后添加唯一性约束: 建表后添加默认值约束: 建表后添加非空约束: 建表以后添加外键: 补充:mysql修改某个字段(替换关键字内容) 总结 更新/修改数据 只改想改的数据: update 表名 set 字段名=值 where 条件子句; 如: update c1 set name="库里30" where id=1; 修改全部数据: update 表名

  • MySQL数据表添加字段的三种方式

    目录 在末尾添加字段 实例1 在开头添加字段 实例2 在中间位置添加字段 实例3 MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record).随着业务的变化,可能需要在已有的表中添加新的字段. MySQL 允许在开头.中间和结尾处添加字段. 在末尾添加字段 一个完整的字段包括字段名.数据类型和约束条件.MySQL 添加字段的语法格式如下: ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]

  • MySQL清空数据表的方法实例与分析

    MySQL数据库中,如果我们想清空数据表(删除数据表中所有内容)的话,可以通过下面两个语句来实现: truncate table table_n; delete from table_n; 实例 我们先通过实例看下通过这两种方式清空数据库的过程和结果 #delete演示 mysql> create table testforde( -> number int not null auto_increment, -> name varchar(20) not null, -> prim

随机推荐