mysql数据类型属性_MySQL数据类型和属性

MySQL数据类型和属性

(2010-10-19 11:54:48)

标签:

mysql

数据类型

杂谈

数据类型和属性

对MySQL表每个列中的数据实行严格的控制,这是数据驱动应用程序成功的关键。

这些数据类型的行为可以通过包含属性(attribute)进一步调整。

数据类型分为三种类别:日期和时间、数值以及字符串

一、日期和时间数据类型

1、DATE

DATE数据类型负责存储日期信息。MySQL以标准的YYYY-MM-DD格式显示DATE值。这些值可以使用

数字或字符串来插入。

2、DATETIME

DATETIME数据类型负责存储日期和时间信息的组合。与DATE一样,DATETIME值以标准格式YYYY-MM-DD

HH:MM:SS存储。

这些值也可以使用数值或字符串来插入。

3、TIME

TIME数据类型负责存储时间信息,支持的范围相当大,不仅足以表示标准时间和军用时间格式,还可以表示扩张时间间隔。

4、TIMESTAMP[(M)] [DEFAULT] [ON UPDATE]

TMIESTAMP数据类型不同于DATETIME,MySQL执行了影响TIMESTAMP数据的INSERT或UPDATE操作之后,会自动将其更新为当前

的日期和时间。TIMESTAMP值显示为HH:MM:SS格式,与DATE和DATETIME数据类型一样,也可以是数值或字符串进行赋值。

TIMESTAMP值可以采用如下格式显示:YYYYMMDDHHMMSS(14位数)、YYMMDDHHMMSS(12位数)、YYYYMMDD(8位数)和YYMMDD(6位数)

范围从1970-01-01 00:00:01 到2037-12-31 23:59:59 ,其存储需要4个字节。

4.1版本开始,TIMESTAMP值始终存储为YYYY-MM-DD HH:MM:SS

5.YEAR[(2|4)]

YEAR数据类型负责存储年份特定信息。

两位数值 1~99,范围从1~69的值转换为2001~2069的值,范围从70~99的值转换为1970~1999的值。

四位数值 1901~2155。

二、数值数据类型

1、BOOL和BOOLEAN

BOOL和BOOLEAN只是TINYINT(1)别名,用于赋值0或1.

2、BIGINT [(M)]

BIGINT数据类型提供了MySQL最大的整数范围,支持符号范围-9 223 372 036 854 775 808 ~

9 223 372 036 854 775 807 ,无符号数范围从0~18 446 744 073 709 551 615

共20位

3、INT [(M)] [UNSIGNED] [ZEROFILL]

INT数据类型提供了MySQL的第二大整数范围,支持的有符号数范围-2 147 483 648 ~9 223 372 036 854

775 807

无符号数范围从0~4 294 967 295. 共10位

3、MEDIUMINT [(M)] [UNSIGNED] [ZEROFIL]

MEDIUMINT数据类型提供了MySQL的第三大整数范围,支持的有符号数范围从-8 388 608 ~8 338 607

无符号整数范围从 0~16 777 215 共8位

4、SMALLINT [(M)] [UNSIGNED] [ZEROFILL]

SMALLINT数据类型提供了MySQL的第四大整数范围,支持的有符号数范围从-32

768~32768,无符号0~65535.

TINYINT [(M)] [UNSIGNED] [ZEROFILL]

有符号范围从-128~127 ,无符号0~256。

5.DECIMAL ([M[.D]]) [UNSIGNED] [ZEROFILL]

DECIMAL数据类型是存储为字符的浮点数。

6、DOUBLE([M,D]) [UNSIGNED] [ZEROFILL]

DOUBLE数据类型是双精度浮点数。

7、FOLAT([M,D]) [UNSIGNED] [ZEROFILL]

FLOAT数据类型变体是MYSQL的单精度浮点数表示形式。

8、FOLAT (precision) [UNSIGNED] [ZEROFILL]

FLOAT数据类型变体ODBC兼容性提供,其精度对于单精度可以从1~24,双精度为25~53.

三、字符串数据类型

1、[NATIONAL] CHAR(Length) [BINARY | ASCII | UNICODE]

CHAR数据类型为MySQL提供了固定长度的字符串表示形式,支持最大255个字符。如果插入的字符串不足Length空间,

剩余部分将填充为空白。如果Length是一个字符,则用户可以忽略长度引用。只使用CHAR。还可以指定零长度的CHAR并有

NOT NULL属性,它只允许NULL或"".提供national

属性是出于兼容性原因,因为SQL-99通过这个属性来指定应该对列使用默认

字符集,而Mysql已经默认地要求使用默认字符集。给出BINARY属性是使该列的值以区别大小写的方式排序,忽略该属性将以区分

大小写的方式排序。

2.[NATIONAL] VARCHAR(Length) [BINARY]

VARCHAR数据类型是MYSQL的可变长度字符串表示形式,版本5.0.3支持的长度从0~65536个字符。

BINARY属性是该列的值以区分大小写的形式排序,忽略该属性将以不区分大小写的方式排序。

5.0.3版本开始,出于标准兼容性的考虑,尾部的空白也会存储。

3.LONGBLOB

LONGBLOB数据类型是MySQL最大的二进制字符串表示形式,支持最大长度4 294 967 295个字符,共10位

4.LONGTEXT

LONGTEXT数据类型是MySQL最大的非二进制字符串表示形式,支持最大长度4 294 967 295个字符,共10位。

5.MEDIUMBLOB

MEDIUMBLOB数据类型是MYSQL第二大二进制字符串表示形式,支持最多16 777 215个字符,共8位。

6.MEDIUMTEXT

MEDIUMTEXT数据类型是MySQL的第二大非二进制文本字符串,能够存储最大长度16777215个字符,共8位。

7.BLOB

BLOB数据类型是MySQL第三大二进制字符串表示形式,支持最大长度65535个字符。

8.TEXT

TEXT数据类型是MySQL第三大非二进制字符串表示形式,支持最大长度65535个字符。

9.TINYBLOB

TINYBLOB数据类型是MySQL最小的二进制字符串表示形式,支持最大长度255个字符。

10.TINYTEXT

TINYTEXT类型是MySQL最小的非二进制字符串表示形式,支持最大长度255个字符。

11.ENUM("memeber1","member2",..."member65535")

ENUM数据类型最多存储一组预定义值中的某一个成员提供了一种方法,这组值最多包括65535个不同成员。成员的选择限制为

列定义中声明的值。如果列声明包括NULL属性,则null将认为是一个有效值。并且是默认值,如果声明NOT

NULL,则列表的第一个成员是默认值。

12.SET("member1","member2",..."member64")

SET数据类型为指定一组预定义中的零个或多个值提供了一种方法,这组值最多包括64个成员。

值的选择限制为列定义中声明的值。存储需求是1、2、3、4或8个值,这取决于成员的数目,可以使用公式(N+7)/8确定确认的需求,这里N是集合大小。

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值