MySQL 数据类型

 

MySQL

1、 NULL

不同于’’0   索引列必须是 not null   Is null      is not null   order by null值最大   group by ,null分为一组

is null , is not null运算符 IFNULL()函数  

NULL值被特殊处理,timestamp类型的列:插入当前的日期和事件;auto_increment:最大值的下一个值。

2、 数字

整形和浮点数;‘-’号;-32032.13e+10 , -320.34e-10 0x开头十六进制 , 经常被ODBC使用

3、 字符串

单引号或上引号括起来  转义字符:"0—null字符,不同于null值;"n新行符;"t"b"" "r—回车符;"%--%; "_

4、 时间

日期:2009-02-22 时间:09:30:22

 

MySQL 列类

1、 数字类型列

 

类型

说明

存储需求

取值范围

tinyint

非常小的整数

1

有符号值:-128 127- 27 27 - 1
无符号值:02550 28 - 1

smallint

较小整数

2

有符号值:-32768 32767- 215 215 - 1
无符号值:0655350 21 6 - 1

mediumint

中等大小整数

3

有符号值:-8388608 8388607- 22 3 22 3 - 1
无符号值:0167772150 22 4 - 1

int

标准整数

4

有符号值:-2147683648 2147683647- 231 231- 1
无符号值:042949672950 232 - 1

bigint

较大整数

8

有符号值:-9223372036854775808 9223373036854775807- 263263-1

无符号值:0184467440737095516150264 – 1

float

单精度浮点数

4

最小非零值:±1.175494351e - 38

double

双精度浮点数

8

最小非零值:±2.2250738585072014e - 308

decimal

一个串的浮点数

m字节(mysql< 3.23),m+2字节(mysql> 3.23

可变;其值的范围依赖于m d

 

 

2、 时期和时间类型

 

类型名

取值范围

存储需求

说明

date

“1000-01-01”“9999-12-31”

3字节

“yyyy-mm-dd”格式表示的日期值

time

“-838:59:59”“838:59:59”

3字节

“hh:mm:ss”格式表示的时间值

datetime

“1000-01-01 00:00:00” “9999-12-31 23:59:59”

8字节

“yyyy-mm-dd hh:mm:ss”格式

timestamp

19700101000000 2037 年的某个时刻

4字节

“yyyymmddhhmmss”格式表示的时间戳值

year

1901 2155

1字节

“yyyy”格式的年份值

 

 

3、 字符型

 

类型说明

最大尺寸

存储需求

 

char( m)

m 字节

m 字节

定长字符串

varchar(m)

m 字节

l + 1字节

可变长字符串

tinyblob

tinytext

28- 1字节

l + 1字节

非常小的blob(二进制大对象)

非常小的文本串

Blob

text

216 - 1 字节

l + 2字节

blob

小文本串

Mediumblob

mediumtext

224- 1字节

l + 3字节

中等的blob

中等文本串

Longblob

longtext

232- 1字节

l + 4字节

blob

大文本串

enum(“value1”, “value2”, ...)

65535 个成员

1 2字节

枚举;列可赋予某个枚举成员

set (“value1”, “value2”, ...)

64个成员

1234 8字节

集合;列可赋予多个集合成员

 

 

4、 列的属性

auto_increment(最大值后递增,若不连续仍然递增)   default   null not null   key   primary key unique key

posted @ 2009-03-24 22:54  Rain Man  阅读(1826)  评论(0编辑  收藏  举报