数据库存储中的数据类型与大小各异。有些地方只存储数字类型,有些只存储文本类型,有些二者而兼之。而很多数据库支持各种专用类型:日期和时间类型,二进制字符类型以及布尔类型。
选择数据类型与数据相匹配是数据库设计中最为重要的部分,因为这种类型将会影响到RDBMS的效率与性能。所以,对RDBMS的数据类型选择应给予足够的重视。
这就是编写本文的主要目的。表A将列举了MySQL支持的绝大部分重要的数据类型,而MySQL是当前最为流行的免费RDBMS。文中还描述了何时与如何使用这些数据类型。这将有助于建立一个数据库的合理设计。
表 A
数据类型 | 描述 | 字节 | 推荐使用 |
SMALLINT | 整数,从-32000到 +32000范围 | 2 | 存储相对比较小的整数。 比如: 年纪,数量 |
INT | 整数,从-2000000000 到 +2000000000 范围 | 4 | 存储中等整数 例如: 距离 |
BIGINT | 不能用SMALLINT 或 INT描述的超大整数。 | 8 | 存储超大的整数 例如: 科学/数学数据 |
FLOAT | 单精度浮点型数据 | 4 | 存储小数数据 例如:测量,温度 |
DOUBLE | 双精度浮点型数据 | 8 | 需要双精度存储的小数数据 例如:科学数据 |
DECIMAL | 用户自定义精度的浮点型数据 | 变量;取决于精度与长度 | 以特别高的精度存储小数数据。 例如:货币数额,科学数据 |
CHAR | 固定长度的字符串 | 特定字符串长度(高达255字符) | 存储通常包含预定义字符串的变量 例如: 定期航线,国家或邮编 |
VARCHAR | 具有最大限制的可变长度的字符串 | 变量; 1 + 实际字符串长度 (高达 255 字符) | 存储不同长度的字符串值(高达一个特定的最大限度). 例如:名字,密码,短文标签 |
TEXT | 没有最大长度限制的可变长度的字符串 | Variable; 2 +聽 actual string length | 存储大型文本数据 例如: 新闻故事,产品描述 |
BLOB | 二进制字符串 | 变量;2 + 实际字符串长度 | 存储二进制数据 例如:图片,附件,二进制文档 |
DATE | 以 yyyy-mm-dd格式的日期 | 3 | 存储日期 例如:生日,产品满期 |
TIME | 以 hh:mm:ss格式的时间 | 3 | 存储时间或时间间隔 例如:报警声,两时间之间的间隔,任务开始/结束时间 |
DATETIME | 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 | 8 | 存储包含日期和时间的数据 例如:提醒的人,事件 |
TIMESTAMP | 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 | 4 | 记录即时时间 例如:事件提醒器,“最后进入”的时间标记 |
YEAR | 以 yyyy格式的年份 | 1 | 存储年份 例如:毕业年,出生年 |
ENUM | 一组数据,用户可从中选择其中一个 | 1或 2个字节 | 存储字符属性,只能从中选择之一 例如:布尔量选择,如性别 |
SET | 一组数据,用户可从中选择其中0,1或更多。 | 从1到8字节;取决于设置的大小 | 存储字符属性,可从中选择多个字符的联合。 例如:多选项选择,比如业余爱好和兴趣。 |
对于一个完整的列表和详细描述,可以查看MySQL manual。你也可以阅读文章Choosing the Right Type for a Column。
分享到:
相关推荐
通过对MySQL数据类型转换方法的详细介绍,我们可以看到,无论是将数字类型转换为字符串类型还是将字符串类型转换为数字类型,都有多种有效的方法可供选择。理解并掌握这些转换方法有助于我们在日常开发工作中更加...
在本文中,我们将对 Java 数据类型和 MySql 数据类型进行对应一览,帮助开发者更好地理解和使用这两种类型。 字符串类型 在 Java 中,字符串类型对应的是 java.lang.String 类型。在 MySql 中,字符串类型对应的是...
### MySQL数据类型全掌握 #### 一、概述 在数据库设计和开发过程中,正确选择数据类型对于确保数据的准确性和优化存储空间至关重要。MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了丰富的数据类型来...
MySQL数据类型详解 在数据库管理系统中,数据类型是用来定义列中数据可以取值的类型和范围。在MySQL中定义数据类型具有重要的作用: 1. 对数据进行分类:数据类型有助于对数据进行归类处理,例如整数、字符串、...
Java 和 MySQL 数据类型之间的对比是理解数据库操作和应用程序开发中数据处理的关键。这两种语言的数据类型在功能和使用上都有所不同,尽管它们都用于存储和处理数据,但各自有着特定的适用场景和特点。 首先,Java...
标题"java、mysql以及oracle数据类型对照表"揭示了本主题的核心,即比较Java、MySQL和Oracle数据库的数据类型。Java的数据类型主要分为基本类型(如int、double、boolean)和引用类型(如类、接口和数组)。MySQL和...
2. 数据类型和表设计:深入理解MySQL需要了解不同的数据类型,如整型、浮点型、字符型、日期时间类型等,并掌握如何根据需求设计合适的表结构。 3. SQL语法:熟练掌握MySQL的SQL语法对于编写高效、安全的查询和数据...
理解 MySQL 和 Oracle 中的数据类型与 Java 中的数据类型对应关系对于数据库应用开发非常重要。本文详细介绍了 Oracle 中的 Number 和 Date 类型与 Java 中的数据类型对应关系,并对 MySQL 中的数据类型也进行了简单...
《深入理解MySQL核心技术》这本书是MySQL数据库技术领域的一部经典之作,它旨在帮助读者深入了解MySQL的内部机制和工作原理,从而更好地优化和管理MySQL数据库系统。以下是对书中的主要知识点的详细阐述: 1. **...
理解并正确使用 MySQL 数据类型是创建高效、可靠的数据库设计的基础。通过合理选择数据类型,可以优化存储效率、提高查询性能,并确保数据的一致性和准确性。在实际应用中,开发者应结合业务需求和数据库设计原则,...
1. **数据类型映射**:SQLite和MySQL的数据类型不尽相同,需要理解两者之间的映射规则,例如SQLite的`TEXT`可能对应MySQL的`VARCHAR`,`INTEGER PRIMARY KEY`对应`INT AUTO_INCREMENT`等。 2. **SQL语法差异**:...
为了更好地理解和运用这些数据类型,本篇将对MySQL中的日期数据类型和时间类型进行详细的分析和总结。 #### 一、MySQL日期数据类型 MySQL提供了多种用于存储日期值的数据类型,包括`DATE`、`DATETIME`、`TIMESTAMP...
数据库数据类型是构建数据库和进行数据存储的基础。Oracle和MySQL作为两个主流的关系型数据库...通过本文的分析和代码示例,读者应该能够更好地理解Oracle与MySQL在数据类型方面的差异,并在实际开发中做出合适的选择。
MySQL中的DECIMAL数据类型用于存储高精度的十进制数,它在数据库设计中尤其重要,因为这种数据类型可以确保精确存储货币和其他需要精确计算的数值。标题和描述提到的"DECIMAL(N,M)"中,N和M是两个关键参数,它们定义...
接下来,我们深入到核心主题——MySQL数据类型。MySQL是一个流行的开源关系型数据库管理系统,其支持多种数据类型,包括: 1. **数值类型**:如`INT`(整数)、`FLOAT`(浮点数)、`DOUBLE`(双精度浮点数)、`...
MySQL数据类型是数据库中存储数据的基本单元,每种数据类型都具有特定的功能和用途。本内容将详细介绍MySQL中支持的各种数据类型,包括整数类型、浮点数类型以及定点数类型等。 1. 整数类型 整数类型是指存储整数...
1. **数据类型匹配**:不同数据库系统中的数据类型可能存在差异,因此在转换时需要确保这些类型在MySQL中能找到合适的对应。例如,DB数据库中的自定义类型可能需要映射到MySQL的标准数据类型。 2. **表结构迁移**:...
1. **MySQL数据类型**: MySQL提供了广泛的数据类型,如数值类型(整数、浮点数、定点数)、字符串类型(CHAR、VARCHAR、TEXT)、日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP)以及二进制类型(BLOB、BINARY...
例如,Oracle不支持某些MySQL特有的语法,如某些数据类型、存储过程等。可以使用工具或编写脚本来自动化这个过程。 4. **数据导入**:在Oracle环境中,可以使用`SQL*Plus`或`SQL Developer`等工具执行修改后的SQL...