建表时字段类型后面的数字有什么用

Eg: int(11), decimal(5,2), varchar(32)

介绍:

Mysql数据库中以 数据类型(m) 来约束数据,其中 数字m在不同的数据类型中表示含义是不同的

整数类型

Mysql中整型数系统已经限制了取值范围

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1字节 (-128,127) (0,255) 小整数值
SMALLINT 2字节 ( -2^15 :-32768,2^15 - 1:32767) (0,65 535) 大整数值
MEDIUMINT 3字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4字节 (-2^31:-2 147 483 648, 2^31 - 1:2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8字节 (-2^63:-9 233 372 036 854 775 808,2^63-1:9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值

这些类型,是定长的,其容量是不会随着后面的数字而变化的,那么后面的数字是用来干什么的呢?

  • 显示宽度
    不论是有符号还是无符号类型,他们都使用相同的存储空间,并具有相同的性能。但是对于显示工具来说(例如Mysql客户端),后面的数据长度决定了用来显示字符的个数

实数类型

实数是带有小数部分的数字。Mysql即支持精确类型,也支持不精确类型

Fixed-Point类型 (DECIMAL, NUMERIC)

DECIMAL 类型用于存储精确的小数且以二进制形式存储。在MYSQL5或者更高版本中,DECIMAL类型允许最多65个数字。
在创建MySQL的DECIMAL列的时候,可以指定进度和标度:DECIMAL(M,D)。M为精度(precision),表示该值的总长度;D为标度(scale),表示小数点后面的长度。例如,DECIMAL(7,4)可存储的数据范围为-999.9999~999.9999。
DECIMAL在不指定精度时,默认整数为10,小数为0,即DECIMAL(10,0)。当DECIMAL(M,D)列存储的数值的小数位数超过D,则四舍五入到D位。当DECIMAL(M,D)列存储的数值大于该列能表示的范围,则存储为DECIMAL(M,D)能表示的最大值;当DECIMAL(M,D)列存储的数值小于该列能表示的范围,则存储为DECIMAL(M,D)能表示的最小值。

浮点类型(FLOAT、DOUBLE)

FLOATDOUBLE 类型代表近似值。MySQL使用4个字节表示单精度值、使用8个字节表示双精度值。单精度的FLOAT类型表示4个字节;24-53的精度则需要双精度DOUBLE类型表示

字符串类型

VARCHAR

VARCHAR 类型用于存储可变长字符串,其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。长度可以指定为0到65,535之间的值。(VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节)。它比定长类型更节省空间,因为它仅使用必要的空间(例如,越短的字符串使用越少的空间)。
VARCHAR 需要使用1 或 2个额外字节记录字符串的长度,如果列的长度小于或等于255,则只使用1个字节表示,否则使用2个字节。
VARCHAR 节省了存储空间,所以对性能有所帮助,但是,由于行是可变的,所以UPDATE的时候可能会使行变得比原来更长,这就导致需要做额外的工作。
VARCHAR 在存储字符串列的最大长度,比平均长度大很多; 列更新较少;复杂字符集;等情况下较为适合选择

CHAR

CHAR 类型是定长的,MYSQL会根据定义的长度为字符串分配足够的空间,当存储类型为CHAR的时候,MYSQL 会删除末尾的空格,CHAR值会根据需要采用空格填充,来进行比较
CHAR 适合存储很短的字符串,或者所有值都接近同一个长度。如: 存储有MD5的密码字段,或者对于一些非常短的内容的列,如 Y,N,此时选择CHAR只需要一个字节,而VARCHAR却需要两个字节

字符串的长度定义不是字节数,是字符数。多字节字符集会需要更多的空间存储单个字符

BLOB、TEXT

BLOBTEXT都是为存储很大的数据而设计的字符串类型,分别采用二进制和字符方式存储

MySql计算字段的长度

LENGTH

LENGTH 函数是一个用来获取字符串长度的内置函数

CHAR_LENGTH

CHAR_LENGTH 查看字符串长度

区别:

命令 单位 一个汉字 一个数字or字母 示例
char_length 字符 1 1 char_length(str)
length Byte 3 1 length(str)
bit_length bit 24 8 length(str)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355