首页> 基础笔记 >Mysql基础学习 Mysql基础学习
MySQL数据表的类型及存储位置
作者:小萝卜 2019-08-28 【 MySql 数据库 】 浏览 1211
简介MySQL数据表的类型及存储位置,MySQL支持MyISAM、InnoDB、HEAP、BOB、ARCHIVE、CSV等多种数据表类型,在创建一个新MySQL数据表时,可以为它设置一个类型。
MySQL数据表的类型及存储位置
MySQL支持MyISAM、InnoDB、HEAP、BOB、ARCHIVE、CSV等多种数据表类型,在创建一个新MySQL数据表时,可以为它设置一个类型。
MyISAM和InnoDB两种表类型最为重要:
1.MyISAM数据表类型的特点是成熟、稳定和易于管理。
2.MyISAM表类型会产生碎片空间,要经常使用OPTIMIZE TABLE命令去清理表空间
3.MyISAM不支持事务处理,InnoDB支持
4.MyISAM不支持外键,InnoDB支持
5.MyISAM表类型的数据表效率更高
6.MyISAM表类型的数据表会产生三个文件,InnoDB表类型表默认只会产生一个文件。
代码:
mysql> show create table uu\G
*************************** 1. row ***************************
Table: uu
Create Table: CREATE TABLE `uu` (
`id` int(11) NOT NULL DEFAULT '0',
`name` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
`mm` tinyint(4) NOT NULL DEFAULT '20',
`age` tinyint(4) DEFAULT NULL,
`sex` enum('m','w') COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)
mysql> alter table uu engine=myisam;
Query OK, 5 rows affected (0.06 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> show create table uu\G
*************************** 1. row ***************************
Table: uu
Create Table: CREATE TABLE `uu` (
`id` int(11) NOT NULL DEFAULT '0',
`name` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
`mm` tinyint(4) NOT NULL DEFAULT '20',
`age` tinyint(4) DEFAULT NULL,
`sex` enum('m','w') COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.02 sec)
mysql> alter table uu engine=innodb;
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> show create table uu\G
*************************** 1. row ***************************
Table: uu
Create Table: CREATE TABLE `uu` (
`id` int(11) NOT NULL DEFAULT '0',
`name` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
`mm` tinyint(4) NOT NULL DEFAULT '20',
`age` tinyint(4) DEFAULT NULL,
`sex` enum('m','w') COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)
mysql>
很赞哦! (0)
上一篇:Mysql字符集介绍
下一篇:Mysql四类索引学习笔记