`
hain
  • 浏览: 454616 次
  • 来自: ...
社区版块
存档分类
最新评论

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列。注:赋初值可在PHP中使用now()。
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个成员。


分享到:
评论

相关推荐

    MySQL字段类型说明

    MySQL 字段类型说明 MySQL 是一个功能强大且广泛使用的关系型数据库管理系统,它支持大量的列类型,可以被分为数字类型、日期和时间类型以及字符串(字符)类型。本节对 MySQL 字段类型进行了详细的说明,包括每个...

    Mysql字段类型说明

    MySQL是一种广泛使用的开源关系型数据库管理系统,其字段类型是数据库设计中的重要概念,它决定了数据存储的格式和特性。理解并正确选择字段类型对于优化数据库性能、节省存储空间以及确保数据准确性至关重要。以下...

    mysql 字段类型说明

    MySQL 字段类型说明 MySQL 支持大量的列类型,可以被分为三类:数字类型、日期和时间类型以及字符串(字符)类型。本节将对每个列类型的存储需求进行概述,并提供每个类中的类型性质的更详细的描述。 数字类型 ...

    MySQL字段类型说明[文].pdf

    MySQL字段类型是数据库设计的重要组成部分,它决定了数据的存储方式、占用空间以及处理效率。MySQL支持多种字段类型,大致可以分为三类:数字类型、日期和时间类型以及字符串(字符)类型。 数字类型主要包括以下几...

    MySQL字段类型列表

    以下是对MySQL5中常见字段类型的详细说明: 1. **整数类型**: - `TINYINT`: 存储范围为-128到127,占用1字节空间。 - `SMALLINT`: 存储范围为-32768到32767,占用2字节空间。 - `MEDIUMINT`: 存储范围为-...

    比较详细的MySQL字段类型说明

    MySQL数据库系统支持多种类型的字段类型,用于存储不同类型的数据。这些字段类型的设计是为了满足不同场景下的数据存储需求。在本文中,我们将深入探讨其中的一些主要字段类型及其特点。 首先,我们来看整数类型。...

    MySql数据库的列类型(字段类型)

    MySQL数据库的列类型,也称为字段类型,是数据库设计中的关键元素,决定了数据的存储、处理和检索方式。这些类型大致分为数值类、字符串类和日期/时间类。以下是各类别的详细说明: **数值类数据列类型:** 1. **...

    动软代码生成器mysql字段注释生成.zip

    《动软代码生成器MySQL字段注释生成》 在数据库设计和开发过程中,良好的注释是提高代码可读性和维护性的重要因素。动软代码生成器针对MySQL数据库提供了字段注释生成的功能,使得数据库表结构的说明更加清晰,便于...

    mysql修改字段类型.docx

    以下是对"mysql修改字段类型"这一主题的详细说明。 首先,我们来看一下基本的语法结构。`ALTER TABLE`语句用于在现有的表上进行结构修改,包括更改字段类型。具体的命令格式如下: ```sql ALTER TABLE 表名 MODIFY...

    mysql 字段类型

    ### MySQL字段类型详解 #### 整数类型概览 MySQL提供了多种整数类型的字段来适应不同的数据需求。根据数据的范围大小,可以选择合适的整数类型。 - **TINYINT[(M)]** - **说明**:非常小的整数类型。 - **允许...

    mysql自增字段重排 mysql删除表后自增字段从1开始.pdf

    以下是对MySQL自增字段相关知识点的详细说明: 1. **自增初始值设定**: - 当创建一个带有AUTO_INCREMENT属性的表时,可以使用`AUTO_INCREMENT=n`选项指定自增字段的初始值。 - 对于已存在的表,可以使用`ALTER ...

    简单了解mysql存储字段类型查询效率

    MySQL数据库在设计表结构时,选择正确的存储字段类型对于查询效率和存储空间的优化至关重要。以下是对标题和描述中提到的知识点的详细说明: 1. **整数类型**: - 整数类型包括TINYINT、SMALLINT、MEDIUMINT、INT...

    mysql 增加修改字段类型及删除字段类型

    在MySQL数据库管理中,对表结构的调整是常见的任务,包括增加字段、修改字段类型以及删除字段等。以下是对这些操作的详细说明: 1. **增加字段**: 使用`ALTER TABLE`语句可以向已有的表中添加新的字段。例如,要...

    Mysql 报Row size too large 65535 的原因及解决方法

    大意是数据表中有一个设定长度为64K的字段索引,当表中字段(不知道是字段名字还是什么)不能超过这个长度,65,535所说明的是针对的是整个表的非大字段类型的字段的bytes总合。(网上查到的) 我自己的理解(也不是...

    解决CodeSmith 8.0生成mysql实体没有字段注释和表注释,亲测好用

    确保驱动类型与当前MySQL服务器版本兼容,并已成功加载。 替换文件的原因在于,原版的CodeSmith可能未充分考虑MySQL数据库的特性,特别是关于注释的部分。通过替换这些文件,我们实际上是在告诉CodeSmith如何正确...

    mysql数据导出工具可以将数据库字段说明变为网页

    这个工具的主要功能是将MySQL数据库的元数据(包括表名、字段名、字段类型、主键信息以及字段注释等)转化为直观的网页格式。这样,数据库的字段说明就不再是隐藏在SQL脚本或数据库管理软件内部的文字,而是可以直接...

    PostgreSQL与mysql字段对比.docx

    本文档对比了PostgreSQL和MySQL的数据类型,包括BIT、BOOLEAN、CHAR、DATE、DATETIME、DECIMAL、FLOAT、INTEGER、TEXT、TIME、TIMESTAMP、VARCHAR等类型的详细说明。 BIT数据类型:在PostgreSQL中,BIT类型用于...

    MySql 按时间段查询数据方法(实例说明)

    需要注意的是,上述示例中对时间字段的操作假设了字段类型已经是适合进行日期比较的类型(如DATE或DATETIME)。在实际应用中,还需要考虑时间字段的具体类型以及如何根据不同的业务逻辑需求构造查询条件。 总结来说...

Global site tag (gtag.js) - Google Analytics