数据定义类型总汇

1、整数型:

整数类型

字节

有符号范围

无符号范围

用途

tinyint

1

(-128,127)

(0,255)

小整数

smallint

2

(-32 768,32 767)

(0,65 535)

大整数

mediumint

3

(-8 388 608,8 388 607)

(0,16 777 215)

大整数

int或integer

4

(-2 147 483 648,2 147 483 647)

(0,4 294 967 295)

超大整数

bigint

8

(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615)

极大整数


2、字段定义方法:

Tinyint(宽度)

Unsigned无符号整数。

Zerofill左侧补0,必须为正数。

[null/not null]是否允许为NULL。

dfault 值默认值。

Auto_increment自动增量

Primary key主键

宽度不代表限制取值范围。

 

3、主键:

一般主键为整数,主键是索引的一种。

一个表只能有一个主键,主键可由一列或多列组成(复合主键)。

Primary key = not null + unique

 

主键存在的方式:

1.唯一主键。如用户ID和学生学号......

2.复合主键。如主机地址+端口号 = 主键。

3.增加一个ID字段作为主键。如ID = (0 , +∞)

 

4、浮点数:


浮点数类型

字节

特点

定义(M=有效位数,D=小数位数)

Float

4

单精度

Float(M,D)

Double

8

双精度

Double(M,D)

Decimal

[M/D]+2

严格浮点数

Decimal(M,D)


 5、字符串:

不能插入超过L长度的字符串,L是字符数不是字节数。

定长字符串:设输入数为N,N<=L。

Char(L)L<=255当N<L时,用空格补齐,实占空间为L。速度快

边长字符串:

Varchar(L)L<=65535(ascii)=22000(utf8)N<L时,实占空间为N+(1~2)字节。

 

 6、大文本类型:

字节根据编码去换算课存多少汉字。

utf8/3=?Gbk/2=?

类型名

字节

tinytext

0 ~ 255

Text

0 ~ 65535

mediuntext

0 ~ 2^24-1

longtext

0 ~ 2^32-1


 7、二进制大对象类型:

Blob

保存二进制内容,如 图片、视频、音乐 .......等等。

 

 8、枚举类型:

Enum (‘值1’,‘值2’,......)

保存单选数据,只能选定义过的数据。

 

 9、集合类型:

不支持NULL

Set 成员 max 64个

格式:set (‘a’,‘b’,‘c’,......)not null;

 

10、时间类型:

类型

字节

范围

格式

用途 

datetime

4

1000-01-01/9999-12-31 

YYYY-MM-DD

日期值 

time

3

 -838:59:59/838:59:59 

HH:MM:SS

时间值

year

1

1901/2155

YYYY

年份值

datetime

8

1000-01-01 00:00:00/9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

年份时间值

timestamp

4

1970-01-01 00:00:00/2037 年某时 

YYYYMMDD HHMMSS

时间戳



转载于:https://blog.51cto.com/chenhaolinux/1710780