mysql的列类型是_mysql 三大列类型

数值型

1.整型

tinyint

占据空间:1个字节,存储范围:-128-127,0-255

一个字节  8个位

0000 0000 -1111 1111

0   ->  2的8次方-1=255

0 000000-0 1111111

0->127

1  000000-1 1111111

0->-127

-127->127

二进制补码的问题

如上理解的话,+0,-0重复了,浪费了一种可能性

因此计算机中的负数,不是照着“后面的绝对值位乘-1得到的”

而是用补码换算的

负数=绝对值位-128(绝对值位为去掉符号位后的值)

smallint

占据空间:2个字节,存储空间:-32768-32767,0-65535

mediuint

int

bigint

zerofill零填充

2.小数型

float(M,D)   decimal(M,D)

M 叫“精度”,代表“总位数”    D叫“标度”,代表“小数位”

如float(6,2) 可表示-9999.99 -> +9999,99

浮点数占多大空间呢

答: 如果M<=24,占四个字节,否则占8个字节

用来表示数学中的小数,除了float ->浮点

还有一种叫定点decimal,定点是把整数部分,和小数部分,分开存储的,比float 精确

当小数点后位数较多时,float会损失精度

如果数据要求比较精确,应该使用decimal

2.字符型

char

称为定长,对于char(n) ,不够n个长度,用空格补齐,浪费了尾部,取出时,再把后面的空格去掉

varchar

称为变长,对于varchar(n),不用补齐,但是列内容前有1-2个字节,来标志该列内容的长度

速度上:定长速度快

注意:char(m) 与varchar(m) 限制的是字符,不是字节

text

文本类型,可以存较大的文本段,搜索速度稍慢

一般用来存储文章内容,新闻内容等

声明text列时 ,不必给默认值

blob

是二进制类型,用来存放图像,音频等二进制信息

blob在于防止因为字符集的问题导致信息丢失

比如:一张图片里有0XFF字节,在ascii字符集中认为非法,再入库时被过滤

3.时期时间类型

date  日期  0000-00-00   3个字节

time   时间  00:00:00  3个字节

datetime  日期时间类型   0000-00-00 00:00:00   8个字节

year 年份     0000      1个字节   范围:1901-2155  如果错误,存入0000年

create table m4-> ( ts timestamp defaultCURRENT_TIMESTAMP->,-> id int

-> )engine myisam charset utf8;

timestamp

获取当前时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值