`

Mysql 支持的数据类型

阅读更多
MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式。 

由MySQL支持的列类型列在下面。下列代码字母用于描述中: 

M 
指出最大的显示尺寸。最大的合法的显示尺寸是 255 。 
D 
适用于浮点类型并且指出跟随在十进制小数点后的数码的数量。最大可能的值是30,但是应该不大于M-2。 
方括号(“[”和“]”)指出可选的类型修饰符的部分。 

注意,如果你指定一个了为ZEROFILL,MySQL将为该列自动地增加UNSIGNED属性。 

TINYINT[(M)] [UNSIGNED] [ZEROFILL] 
一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255。 


SMALLINT[(M)] [UNSIGNED] [ZEROFILL] 
一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。 

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] 
一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。 

INT[(M)] [UNSIGNED] [ZEROFILL] 
一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。 

INTEGER[(M)] [UNSIGNED] [ZEROFILL] 
这是INT的一个同义词。 

BIGINT[(M)] [UNSIGNED] [ZEROFILL] 

一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到 

18446744073709551615。注意,所有算术运算用有符号的BIGINT或DOUBLE值完成,因此你不应该使用大于9223372036854775807(63位)的有符号大整数,除了位函数!注意,当两个参数是INTEGER值时,-、+和*将使用BIGINT运算!这意味着如果你乘2个大整数(或来自于返回整数的函数),如果结果大于9223372036854775807,你可以得到意外的结果。一个浮点数字,不能是无符号的,对一个单精度浮点数,其精度可以是<=24,对一个双精度浮点数,是在25 和53之间,这些类型如FLOAT和DOUBLE类型马上在下面描述。FLOAT(X)有对应的FLOAT和DOUBLE相同的范围,但是显示尺寸和小数位数是未定义的。在MySQL3.23中,这是一个真正的浮点值。在更早的MySQL版本中,FLOAT(precision)总是有2位小数。该句法为了ODBC兼容性而提供。 

FLOAT[(M,D)] [ZEROFILL] 
一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。M是显示宽度而D是小数的位数。没有参数的FLOAT或有<24 的一个参数表示一个单精密浮点数字。 

DOUBLE[(M,D)] [ZEROFILL] 
一个正常大小(双精密)浮点数字。不能无符号。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是显示宽度而D是小数位数。没有一个参数的DOUBLE或FLOAT(X)(25 < = X < = 53)代表一个双精密浮点数字。 

DOUBLE PRECISION[(M,D)] [ZEROFILL] 


REAL[(M,D)] [ZEROFILL] 
这些是DOUBLE同义词。 

DECIMAL[(M[,D])] [ZEROFILL] 
一个未压缩(unpack)的浮点数字。不能无符号。行为如同一个CHAR列:“未压缩”意味着数字作为一个字符串被存储,值的每一位使用一个字符。小数点,并且对于负数,“-”符号不在M中计算。如果D是0,值将没有小数点或小数部分。DECIMAL值的最大范围与DOUBLE相同,但是对一个给定的DECIMAL列,实际的范围可以通过M和D的选择被限制。如果D被省略,它被设置为0。如果M被省掉,它被设置为10。注意,在MySQL3.22里,M参数包括符号和小数点。 

NUMERIC(M,D) [ZEROFILL] 
这是DECIMAL的一个同义词。 

DATE 
一个日期。支持的范围是'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列。 

DATETIME 
一个日期和时间组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式来显示DATETIME值,但是允许你使用字符串或数字把值赋给DATETIME的列。 

TIMESTAMP[(M)] 
一个时间戳记。范围是'1970-01-01 00:00:00'到2037年的某时。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式来显示TIMESTAMP值,取决于是否M是14(或省略)、12、8或6,但是允许你使用字符串或数字把值赋给TIMESTAMP列。一个TIMESTAMP列对于记录一个INSERT或UPDATE操作的日期和时间是有用的,因为如果你不自己给它赋值,它自动地被设置为最近操作的日期和时间。你以可以通过赋给它一个NULL值设置它为当前的日期和时间。 
TIME 
一个时间。范围是'-838:59:59'到'838:59:59'。MySQL以'HH:MM:SS'格式来显示TIME值,但是允许你使用字符串或数字把值赋给TIME列。 

YEAR[(2|4)] 
一个2或4位数字格式的年(缺省是4位)。允许的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)。MySQL以YYYY格式来显示YEAR值,但是允许你把使用字符串或数字值赋给YEAR列。(YEAR类型在MySQL3.22中是新类型。) 

CHAR(M) [BINARY] 
一个定长字符串,当存储时,总是是用空格填满右边到指定的长度。M的范围是1 ~ 255个字符。当值被检索时,空格尾部被删除。CHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式来定义CHAR列应该使用缺省字符集。这是MySQL的缺省。CHAR是CHARACTER的一个缩写。 

[NATIONAL] VARCHAR(M) [BINARY] 
一个变长字符串。注意:当值被存储时,尾部的空格被删除(这不同于ANSI SQL规范)。M的范围是1 ~ 255个字符。 VARCHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词值。 VARCHAR是CHARACTER VARYING一个缩写。 

TINYBLOB 

TINYTEXT 
一个BLOB或TEXT列,最大长度为255(2^8-1)个字符。 
BLOB 


TEXT 
一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。 

MEDIUMBLOB 

MEDIUMTEXT 
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。 
LONGBLOB 

LONGTEXT 
一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。 

ENUM('value1','value2',...) 
枚举。一个仅有一个值的字符串对象,这个值式选自与值列表'value1'、'value2', ...,或NULL。一个ENUM最多能有65535不同的值。 

SET('value1','value2',...) 
一个集合。能有零个或多个值的一个字符串对象,其中每一个必须从值列表'value1', 'value2', ...选出。一个SET最多能有64个成员。 


参考资料:http://hi.baidu.com/iamcay

分享到:
评论

相关推荐

    mysql数据类型转换

    MySQL支持多种数据类型之间的转换,常见的包括: - **二进制类型** (`BINARY`):表示固定长度的二进制字符串。 - **字符类型** (`CHAR()`):表示定长的字符串。 - **日期类型** (`DATE`):表示日期值。 - **时间...

    MySQL数据类型全掌握

    ### MySQL数据类型全掌握 #### 一、概述 在数据库设计和开发过程中,正确选择数据类型对于确保数据的准确性和优化存储空间至关重要。MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了丰富的数据类型来...

    mysql数据类型详解.pdf

    MySQL支持多种数据类型,可以分为几大类:数值型、日期时间型、字符型以及其他数据类型等。 数值型数据类型主要包括:整数类型、浮点数类型、定点数类型以及位类型。 整数类型主要有: - TINYINT[(M)]: 一个很小的...

    Oracle与MySQL数据类型深入比较及代码示例

    Oracle和MySQL作为两个主流的关系型数据库管理系统,在数据类型支持上存在一些显著的差异。了解这些差异对于开发者在不同数据库系统间迁移数据或编写数据库应用程序时至关重要。本文将深入探讨Oracle与MySQL在数据...

    sql mysql oracle数据类型

    【标题】: "SQL MySQL Oracle 数据类型对比与理解" 【描述】: "本文将深入探讨 MySQL、Oracle 和 SQL Server 三大主流数据库系统中的数据类型,以及它们与 JDBC 数据类型的对应关系,帮助读者全面理解各数据库的...

    MySQL之数据类型

    ### MySQL 数据类型详解 在使用 MySQL 数据库进行数据存储时,选择合适的数据类型至关重要,它不仅影响着数据的存储方式,还可能对查询性能及存储空间的使用效率产生影响。本文将详细介绍 MySQL 中的一些关键数据...

    25.9 MySQL 数据类型

    MySQL 支持多种数据类型,包括数值类型、字符串类型、日期和时间类型以及二进制类型。这些数据类型的选择直接影响到数据的存储效率、查询性能以及数据的正确性。 1. 数值类型: - 整数类型:如 TINYINT、SMALLINT...

    MYSQL基础:数据类型.docx

    MySQL 支持的各种数据类型可以分为数值类型、字符串类型、日期和时间类型、二进制类型和枚举和集合类型等。 数值类型 MySQL 支持的数值类型包括整数类型、浮点数类型和定点数类型。 * 整数类型:包括 TINYINT、...

    JDBC.rar_MYSQL_MYSQL  数据类型_jdbc_jdbc mysql

    MySQL是一个流行的开源关系型数据库管理系统,其支持多种数据类型,包括: 1. **数值类型**:如`INT`(整数)、`FLOAT`(浮点数)、`DOUBLE`(双精度浮点数)、`DECIMAL`(定点数)等,它们在JDBC中对应的Java类型...

    MySQL的数据类型.ppt

    - **科学计数法**:MySQL支持科学表示法,如1.34E+12或43.27e-1,可以使用UNSIGNED和ZEROFILL属性,前者表示无符号,后者表示用0填充。 2. **字符串类型** - **CHAR和VARCHAR**:CHAR是固定长度的字符串,VARCHAR...

    各种数据库的数据类型对比

    数据库是存储和管理数据的核心工具,不同的数据库系统支持多种数据类型来适应各种数据形式的存储需求。本主题将深入探讨几种常见的数据库系统,包括MySQL、SQL Server、Oracle和PostgreSQL,以及它们各自的数据类型...

    05-MySQL数据类型

    整数类型是指存储整数数值的数据类型,MySQL支持多种整数类型,不同类型的整数占用的存储空间不同,其范围也不一样。 - TINYINT:非常小的整数,占用1字节,其值范围是无符号的0~255,有符号的是-128~127。 - ...

    MySQL常见数据类型-数值型.docx

    不同的 MySQL 版本支持的数据类型可能稍有不同。 数值型数据类型 数值型数据类型包括整型、小数和位类型。 整型 整型数据类型包括 tinyint、smallint、mediumint、int 和 bigint 等。每种整型都有其对应的有符号...

    MySQL常用数据类型和建库策略.pdf

    首先,MySQL支持多种数值数据类型,包括整数类型和浮点类型。整数类型包括TINYINT、SMALLINT、MEDIUMINT、INTEGER(INT)、BIGINT。这些类型在存储和范围上有所不同,如TINYINT占用1字节,适合存储小整数,而BIGINT...

    MySQL常见数据类型-数值型.pdf

    MySQL 数据库系统提供了丰富的数据类型,以便存储不同类型的数据。在本文中,我们将专注于数值型数据类型,这是数据库设计中常用的一类数据类型。 数值型数据类型主要包括整型和小数型,它们各自又分为多个子类型。...

    MySQL基础数据生成工具

    7. **事务处理**:MySQL支持ACID(原子性、一致性、隔离性和持久性)特性,用户可以利用此工具模拟事务操作,学习事务的提交、回滚和隔离级别。 8. **视图与存储过程**:通过创建视图,用户可以简化复杂查询,并...

    Mysql数据的数据类型说明

    MySQL支持多种字符集,这在处理多语言数据时尤为重要。字符集定义了一组符号及其编码方式。常见的字符集包括: - **latin1**: 对应西欧语言的ISO 8859-1编码。 - **utf8**: 支持Unicode标准,广泛用于网页和其他多...

    MySQL支持库3.0#0版

    易语言mysql.fne支持库中文名为易语言MySQL支持库,本易语言支持库实现对MySQL数据库的支持,在使用本支持库前请学习MySQL相关知识,如果出错可以通过“取错误文本()”查看出错信息。从易语言5.0开始本库有内部调整...

    MySQL学习笔记:MySQL安装,MySQL数据类型,MySQL事务,MySQL函数

    MySQL 数据库支持多种数据类型,包括数字、字符串、日期和时间、枚举、集合等。 MySQL 事务 MySQL 事务是指一组操作的集合,保证了数据库的完整性和一致性。事务可以分为四个阶段:开始事务、执行事务、提交事务...

    mysql数据类型共2页.pdf.zip

    MySQL 数据类型是数据库管理系统中非常基础且重要的概念,它们决定了数据在存储和处理时的格式。MySQL 提供了丰富的数据类型,以满足不同场景下的需求。在这个“mysql数据类型共2页.pdf.zip”压缩包中,很显然,我们...

Global site tag (gtag.js) - Google Analytics