类型使用规范

Exisi 2023-01-19 08:50:54
Categories: Tags:

类型

规范

限制

tinyint

在范围小于intsmallint类型的情况下尽可能使用,可以存储空间

字段

描述

状态

status较少的情况下可以使用

类型

type较少的情况下可以使用

DEFAULT  0  NOT NULL

 

 

 

 

int

可以使用int就不要使用varcharchar

字符尽可能转化为数字,例如性别,类型等

字段

描述

IP

inet_aton() 转换为数字储存,

inet_ntoa() 取出IP地址

负值

使用UNSIGNED INT表示

性别

0表示男,1表示女

布尔

数值0表示为,数值1表示为

 

 

 

 

DEFAULT  0    NOT NULL

NOT NULL AUTO_INCREMENT

float,double

不要求计算或着精度要求低时使用,避免使用

字段

描述

负值

使用UNSIGNED FLOATUNSIGNED DOUBLE表示

 

DEFAULT  0    NOT NULL

decimal

科学财务计算、高速数学计算、科学计算、卫星定位计算等相关必须使用

字段

描述

负值

使用UNSIGNED DECIMAL表示

 

 

DEFAULT  0    NOT NULL

varchar

用尽量少的存储空间来存储一个字段的数据

字段

描述

邮箱

不同邮箱长度不用,建议使用varchar

DEFAULT  ''  NOT NULL

char

固定长度的类型最好使用

字段

描述

身份证号码

身份证固定长度,使用char(18)

DEFAULT  ''  NOT NULL

enum

尽可能避免使用,修改ENUM值须要使用ALTER语句,ENUM类型的ORDER BY操作效率低,需要额外操作

字段

描述

性别

enum('','','保密')

enum('M','F','').

 

 

DEFAULT  ENUM('保密')  NOT NULL

DEFAULT  ENUM('')  NOT NULL

datetime

完整的年份日期使用,无需转区

DEFAULT NULL

DEFAULT CURRENT_TIME NOT NULL

DEFAULT LOCALTIME NOT NULL

timestamp

优先使用,当超过范围不使用,完成年份时间时间戳,需要进行时区转换

DEFAULT NULL'

DEFAULT CURRENT_TIME NOT NULL

DEFAULT LOCALTIME NOT NULL

year

仅储存年份时使用

DEFAULT NULL

DEFAULT '2022' NOT NULL

date

仅储存日期时使用

DEFAULT NULL

DEFAULT '0000-00-00' NOT NULL

time

仅储存时间时使用

DEFAULT NULL

DEFAULT '01:00:00' NOT NULL

DEFAULT '000000' NOT NULL

TEXTBLOB

避免使用,建议把BLOB或是TEXT列分离到单独的扩展表中

DEFAULT