mysql 整理(四),字段类型

整数类型

TINYINT 很小的整数 1个字节
SMALLINT 小的整数 2个字节
MEDIUMINT 中等大小的整数 3个字节
INT 普通大小整数 4个字节
BIGINT 大整数 8个字节

 

浮点数

FLOAT 单精度浮点数 4个字节
DOUBLE 双精度浮点数 8个字节
DECIMAL (M,D),DEC 亚索的“严格”定点数 M+2个字节

 

YEAR YYYY 1字节
TIME HH:MM:SS 3字节
DATE YYYY-MM-DD 3字节
DATETIME YYYY-MM-DD HH:MM:SS 8字节
TIMESTAMP YYYY-MM-DD HH:MM:SS 4字节

YEAR

以四位数表示 范围1901------2155

以两位字符串表示“00”-“99”, “00”-“69”表示2000-2069,“70”-”99” 1970-1999.

以两位数的00 就是0不是2000

 

 

TIME:

支持简写输入如“”10 HH:MM”  代表 10*24 +HH:MM

简写:‘1122’代表 00:11:22

简写“11:22”代表 11:22:00

简写“112233” 代表 11:22:33  HH:MM:SS

 

DATE

使用CURRENT_DATE (只返回日期)或者NOW() (返回日期+时间)插入当前系统时间

支持简写“19980808”  等于“1998-08-08”

 

DATETIME

同样支持简写“YYYYMMDDHHMMSS”

 

TIMESTAMP 取值范围小于DATETIME 并且储存的值世界UTC标准时间,读取时根据时区不同显示时间值不同。

 

 

文本字符串类型

CHAR 固定长度非二进制字符串
VARCHAR 变长非二进制字符串
TINYTEXT 非常小的非二进制字符串
TEXT 小的非二进制字符串
MEDIUMTEXT 中等大小的非二进制字符串
LONGTEXT 大的非二进制字符串
ENUM 枚举类型,只能有一个枚举字符串值
SET SET

 

char的存取速度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的

 

TEXT类型

保存文章内容、评论。

 

ENUM

定义美剧类型  enm  ENUM(“first”,“second”,“third”)   可以按照索引插入 0 1 2  可以为NULL 设置NOT NULL 该值为列表第一个元素。

按照索引插入 比如 INSERT INTO tmp values(1),(2)

 

SET类似ENUM 是个字符串对象

CREATE TABLE tmp(s  SET("a",“b”,“c”))

INSERT INTO tmp values(“a”),("a,b,a"),("c,b,a");

插入的里面有重复值会被删掉重复

比如插入兴趣爱好可以选择set类型

 

TEXT 和BLOB类型

BLOB是二进制字符串,TEXT 是非二进制字符串,BLOB可以储存图片、音频信息,而TEXT只能储存纯文本。

 

posted on 2020-03-30 16:12  thotf  阅读(229)  评论(0)    收藏  举报

导航