![](https://img-blog.csdnimg.cn/2020101016514982.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL数据类型和存储引擎
MySQL数据类型和存储引擎
不善表演
都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,都是转载的,
展开
-
16、修改数据表的存储引擎
在前面提到,MySQL 的核心就是存储引擎。MySQL 存储引擎主要有 InnoDB、MyISAM、Memory、BDB、Merge、Archive、Federated、CSV、BLACKHOLE 等。MySQL 中修改数据表的存储引擎的语法格式如下:ALTER TABLE <表名> ENGINE=<存储引擎名>;ENGINE 关键字用来指明新的存储引擎。实例演示下面将数据表 student 的存储引擎修改为 MyISAM。在修改存储引擎之前,先使用 SHOW CRE原创 2020-10-10 10:11:47 · 365 阅读 · 0 评论 -
15、如何选择MySQL存储引擎
本节将介绍如何根据不同的应用场景去选择合适的存储引擎。在使用 MySQL 数据库管理系统时,选择一个合适的存储引擎是一个非常复杂的问题。不同的存储引擎都有各自的特性、优势和使用的场合,正确的选择存储引擎可以提高应用的使用效率。为了能够正确地选择存储引擎,必须掌握各种存储引擎的特性。下面重点介绍几种常用的存储引擎,它们对各种特性的支持如下表所示。表中主要介绍了 MyISAM、InnoDB 和 MEMORY 三种存储引擎特性的对比。下面详细介绍这 3 个存储引擎的应用场合并给出相应的建议。1) MyI原创 2020-10-10 10:11:39 · 117 阅读 · 0 评论 -
14、查看和修改默认存储引擎
本节主要介绍关于默认存储引擎的操作。如果需要操作默认存储引擎,首先需要查看默认存储引擎。可以通过执行下面的语句来查看默认的存储引擎,具体 SQL 语句如下:SHOW VARIABLES LIKE 'default_storage_engine%';执行上面的 SQL 语句,其结果如图所示。执行结果显示,InnoDB 存储引擎为默认存储引擎。使用下面的语句可以修改数据库临时的默认存储引擎:SET default_storage_engine=< 存储引擎名 >例如,将 MySQL原创 2020-10-10 10:11:32 · 413 阅读 · 0 评论 -
13、不同存储引擎的数据表在文件系统里是如何表示的?
MySQL 支持 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 几种存储引擎,不同存储引擎的数据表在文件系统中的表示也各不相同。MySQL 中的每一个数据表在磁盘上至少被表示为一个文件,即存放着该数据表结构定义的 .frm 文件。不同的存储引擎还有其它用来存放数据和索引信息的文件。从 MySQL 8.0 版本开始,frm 表结构定义文件被取消,MySQL 把表结构信息都写到了系统表空间。下面介绍不同存储引擎的数据表在文件系统中是如何表示的。MyIS原创 2020-10-09 10:00:19 · 564 阅读 · 0 评论 -
12、MyISAM存储引擎
MyISAM 存储引擎是 MySQL 中常见的存储引擎,曾(MySQL 5.1及之前版本)是 MySQL 的默认存储引擎。MyISAM 是基于 ISAM 存储引擎发展起来的。实际上那会还没有存储引擎的概念,ISAM 只是一种算法,或者说是数据的处理方式。如同 SQL Server/Oracle 这类产品一样,MySQL 对表对象的管理方式只有一种。随着 MySQL 架构的不断发展和演进,最终才引入插件式存储引擎的概念,ISAM 也进化为 MyISAM 并一直作为 MySQL 数据库的默认存储引擎,直到 M原创 2020-10-09 10:00:09 · 247 阅读 · 0 评论 -
11、InnoDB存储引擎
InnoDB 是 MySQL 中第一个提供外键约束的存储引擎,而且它对事务的处理能力是其它存储引擎无法与之相比的。MySQL 5.5 版本以后,默认存储引擎由 MyISAM 修改为 InnoDB。InnoDB 是目前最重要、使用最广泛的存储引擎。InnoDB 一直在持续改进,随着处理能力的不断提高,其优秀的性能和可维护性使它成为生产中普遍推荐使用的存储引擎。一般情况下,除非有特别的原因需要使用其它存储引擎,否则应该优先考虑 InnoDB 引擎。下面从优势和物理存储结构两个方面来讲解 InnoDB 存原创 2020-10-09 10:00:03 · 178 阅读 · 0 评论 -
10、MySQL存储引擎有哪些?
数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。简而言之,存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。现在许多数据库管理系统都支持多种不同的存储引擎。MySQL 的核心就是存储引擎。MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,原创 2020-10-09 09:59:57 · 563 阅读 · 0 评论 -
9、MySQL系统变量(查看和修改)
在 MySQL 数据库,变量分为系统变量和用户自定义变量。系统变量以 @@ 开头,用户自定义变量以 @ 开头。服务器维护着两种系统变量,即全局变量(GLOBAL VARIABLES)和会话变量(SESSION VARIABLES)。全局变量影响 MySQL 服务的整体运行方式,会话变量影响具体客户端连接的操作。每一个客户端成功连接服务器后,都会产生与之对应的会话。会话期间,MySQL 服务实例会在服务器内存中生成与该会话对应的会话变量,这些会话变量的初始值是全局变量值的拷贝。查看系统变量可以使用以下原创 2020-10-09 09:59:51 · 460 阅读 · 0 评论 -
8、MySQL转义字符的使用
在 MySQL 中,除了常见的字符之外,我们还会遇到一些特殊的字符,如换行符、回车符等。这些符号无法用字符来表示,因此需要使用某些特殊的字符来表示特殊的含义,这些字符就是转义字符。转义字符一般以反斜杠符号\开头,用来说明后面的字符不是字符本身的含义,而是表示其它的含义。MySQL 中常见的转义字符如下表所示。转义字符转义后的字符\"双引号(")\'单引号(’)\\反斜线(\)\n换行符\r回车符\t制表符\0ASCII 0(NUL)原创 2020-10-09 09:59:45 · 1546 阅读 · 0 评论 -
7、MySQL数据类型的选择
MySQL 提供了大量的数据类型,为了优化存储和提高数据库性能,在任何情况下都应该使用最精确的数据类型。前面主要对 MySQL 中的数据类型及其基本特性进行了描述,包括它们能够存放的值的类型和占用空间等。本节主要讨论创建数据库表时如何选择数据类型。可以说字符串类型是通用的数据类型,任何内容都可以保存在字符串中,数字和日期都可以表示成字符串形式。但是也不能把所有的列都定义为字符串类型。对于数值类型,如果把它们设置为字符串类型的,会使用很多的空间。并且在这种情况下使用数值类型列来存储数字,比使用字符串类型原创 2020-10-09 09:59:40 · 531 阅读 · 0 评论 -
6、(二进制类型)BIT、BINARY、VARBINARY、BLOB
MySQL 支持两类字符型数据:文本字符串和二进制字符串。二进制字符串类型有时候也直接被称为“二进制类型”。MySQL 中的二进制字符串有 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。下表中列出了 MySQL 中的二进制数据类型,括号中的M表示可以为其指定长度。BIT 类型位字段类型。M 表示每个值的位数,范围为 1~64。如果 M 被省略,默认值为 1。如果为 BIT(M) 列分配的值的长度小于 M 位,在值的左边用 0 填原创 2020-10-09 09:59:35 · 4217 阅读 · 0 评论 -
5、(字符串类型)CHAR、VARCHAR、TEXT、ENUM、SET
字符串类型用来存储字符串数据,还可以存储图片和声音的二进制数据。字符串可以区分或者不区分大小写的串比较,还可以进行正则表达式的匹配查找。MySQL 中的字符串类型有 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET 等。下表中列出了 MySQL 中的字符串数据类型,括号中的M表示可以为其指定长度。VARCHAR 和 TEXT 类型是变长类型,其存储需求取决于列值的实际长度(在前面的表格中用 L 表示),而不是取决于类型的最大可能尺寸。原创 2020-10-09 09:59:30 · 1950 阅读 · 0 评论 -
4、(日期和时间类型)DTAETIME、TIMESTAMP、DATE、TIME、YEAR
MySQL 中有多处表示日期的数据类型:YEAR、TIME、DATE、DTAETIME、TIMESTAMP。当只记录年信息的时候,可以只使用 YEAR 类型。每一个类型都有合法的取值范围,当指定确定不合法的值时,系统将“零”值插入数据库中。下表中列出了 MySQL 中的日期与时间类型。YEAR 类型YEAR 类型是一个单字节类型,用于表示年,在存储时只需要 1 个字节。可以使用各种格式指定 YEAR,如下所示:以 4 位字符串或者 4 位数字格式表示的 YEAR,范围为 ‘1901’~’21原创 2020-10-09 09:59:24 · 2974 阅读 · 0 评论 -
3、(小数类型)FLOAT、DOUBLE、DECIMAL
MySQL 中使用浮点数和定点数来表示小数。浮点类型有两种,分别是单精度浮点数(FLOAT)和双精度浮点数(DOUBLE);定点类型只有一种,就是 DECIMAL。浮点类型和定点类型都可以用(M, D)来表示,其中M称为精度,表示总共的位数;D称为标度,表示小数的位数。浮点数类型的取值范围为 M(1~255)和 D(1~30,且不能大于 M-2),分别表示显示宽度和小数位数。M 和 D 在 FLOAT 和DOUBLE 中是可选的,FLOAT 和 DOUBLE 类型将被保存为硬件所支持的最大精度。原创 2020-10-08 12:04:36 · 2237 阅读 · 0 评论 -
2、(整数类型)INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT
整数类型又称数值型数据,数值型数据类型主要用来存储数字。MySQL 提供了多种数值型数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。下表中列出了 MySQL 中的数值类型。从上表中可以看到,不同类型的整数存储所需的字节数不相同,占用字节数最小的是 TINYINT 类型,占用字节最大的是原创 2020-10-08 12:04:30 · 809 阅读 · 1 评论 -
1、MySQL数据类型简介
数据类型(data_type)是指系统中所允许的数据的类型。MySQL 数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则。数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。例如,列中存储的为数字,则相应的数据类型应该为数值类型。如果使用错误的数据类型可能会严重影响应用程序的功能和性能,所以在设计表时,应该特别重视数据列所用的数据类型。更改包含数据的列不是一件小事,这样做可能会导致数据丢失。因此,在创建表时必须为每个列设置正确的数据类型和长度。MySQL 的数据类型有大概原创 2020-10-08 12:04:15 · 119 阅读 · 0 评论