Mysql常用数据类型总结

整形

枚举类型 ENUE
整形        TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT
浮点型                 FLOAT,DOUBLE
定点数类型        DECIMAL
日期时间类型 DATE,TIME,DATETIME,YEAR
文本字符串类型

char,varchar,tinytext,text,mediumtext,longtext,enum,set..

整形数据类型一共有5中,int,smallint,bigint,tinyint,mediumint,这5个的的区别是 他们的 范围不同

 

类型        字节 无符号范围
int         4 0-4294967295
smallint 2 0-65535
bigint 8 0-18446744073709551615
tinyint 1 0-255
mediumint 2 0-16777215

整形属性

mysql关键字

含义

null         数据库字段可以为空
not null 数据库字段不可以为空
default 数据库字段的默认值
primary key 设置数据库字段为主键
auto_increment 自动递增,一般与主键一起用
unsigned 无符号数,默认为有符号数,声明后,此字段最小值为0
character set XXX 指定一个字符集

整形类型的选择

tinyint:一般用于枚举,EG:系统设定取值范围很小且固定的场景

smalliint:用于较小范围的统计数据,EG:统计工厂的固定资产库存数量

mediumint:用于较大整数的计算,EG:车站的客流量

int:常用,EG:id

bigint:特别大的数据,EG:618节

浮点型

用来处理小数,范围比整形小,但是精度高。float :单精度,double:双精度

float占4个字节,double占8个字节

定点数类型

decimal(m,d)其中,d为精度,m为标度。0<=m<=65,0<=d<=30.m就是范围,d是精度

decimal的存储空间并不是固定的,由精度值m决定,一共占用存储空间为m+2个字节

时间日期类型

date:表示年月日。格式:YYYY-MM-DD

time:表示时分秒。格式:HH:MM:SS

datetime:表示年月日时分秒 格式:YYYY - MM - DD HH:MM:SS

year:表示年  格式:YYYY

使用current_date() 函数 返回当前的年月日

文本字符串

char(数) 固定长度 ,0<=数<=255 占用 数 个字节,在保存时,数据的时间长度比char类型小的,会在右侧填充空格已达到指定的长度

varchar(数) 可变长度,0<=数<=65535 占用(实际长度+1)个字节,检索VARCHAR类型 的字段数据时,会 保留 数据尾部的 空格 。 VARCHAR 类型的字段所占用的存储空间为字符串实际长度加1 个字节。

TEXT类型 

text类型 保存和查询数据时,系统自动按照实际长度存储,不需要预先定义长度。可变长度

tinytext类型:小文本,可变长度 

mediumtext类型:中等文本,可变长度

longtext类型:大文本,可变长度

枚举类型

enum类型的取值范围需要再定义字段时进行指定。设置字段值时,enum类型只允许冲成员中选取单个值,不能一次选取多个值

EG:name ENUM('春','夏','秋','冬')

enum类型包含1-255个成员时,占一个字节

                包含256-65535个成员时,需要占2个字节

              成员个数的上线为65535个

你可能感兴趣的:(mysql,数据库)