聊聊mysql中的int(1)】的更多相关文章

昨天有个读者问了我这样一个问题在mysql中建表的时候,我设置一个字段为int类型,长度为1,但是我发现这个字段却可以存储任意长度的数字,这是什么情况?这个问题在我刚接触数据库的时候也遇到过,我觉得有必要写一篇文章来解释一下. 0 和 1 是计算机最基本的存储单位.也是 CPU 采用的最基本的计算单位,也就是二进制.int 类型占 4 个字节,一个字节是 8 位,也就是说 int 类型在计算机底层是由 32 个 0 跟 1 表示,转化为十进制就是 2 的 32 次方,那么存储范围就是 0~2^3…
一.int和tinyint的区别 大小: tinyint在mysql中占用1个字节 即: 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方:11111111 = 256 在计算机中也就是 int在占用4个字节,即:2的32次方 = 4 294 967 296 在计算机中也就是 -2147483646到2147483647 bigint在占用4个字节,即:2的64次方 另:tinyint(1) 对应的是java的boolean 二.varchar和char的区别 cha…
一.前言 在工作中经常要与mysql打交道,但是对mysql的各个字段类型一直都是一知半解,因此写本文总结记录一番. 二.简介 对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的int(11)代表什么意思,很长时间以来我都以为这代表着限制int的长度为11位,直到有天看到篇文章才明白,11代表的并不是长度,而是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的,这里贴一些原文片段 The number in th…
转载地址:https://www.jb51.net/article/93760.htm 设置int型的时候,需要设置int(M),以前知道这个M最大是255,但是到底应该设置多少并没有在意.注意zerofill,今天我们来简单探讨下   我们在设计表的时候,如果碰到需要设置int(整型)的时候,通常会按照惯例(大家都这样写)设置成int(11).那么这里为什么是11呢?代表的又是什么呢? 以前我一直以为这里是在限制int显示的宽度,后来仔细研究和通过上网查询发现,事实并不是那样的. 确切的来说,…
对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的int(11)代表什么意思,很长时间以来我都以为这代表着限制int的长度为11位,直到有天看到篇文章才明白,11代表的并不是长度,而是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的 当int字段类型设置为无符号且填充零(UNSIGNED ZEROFILL)时,当数值位数未达到设置的显示宽度时,会在数值前面补充零直到满足设定的显示宽度,为什么会有无符号的限制呢,…
根据个人的实验并结合资料:1.长度跟可以使用的值的范围无关,值的范围仅跟类型对应的存储字节数和是否unsigned有关:2.长度指的是显示宽度,比如,指定3位int,那么id为3和id为300的值,在显示的时候怎么对齐呢?按照手册的说法,是默认用“空格”在左边填充.比如下述表格 CREATE TABLE `inttest` ( `id` int(3) unsigned NOT NULL AUTO_INCREMENT, `value` varchar(2) NOT NULL, PRIMARY KE…
各 INT 类型无符号最大值用单位表示: INT 类型 无符号最大值用单位表示 TINYINT 255 SMALLINT 65535 MEDIUMINT 1677 万 INT 42 亿 BIGINT 1844 亿亿,18446兆(一万亿等于一兆,亿亿就是:十兆:) int(11) 的含义: 11 代表的并不是长度,而是字符的显示宽度: 在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的 如果没有 ZEROFILL 属性,括号内 int(11) 这个11…
在mysql中使用int相关的数据类型时, 如果不太了解其存储方式, 会产生一些误用的情况. 如: 只保存0-9之间的数字, 可能会直接用int(1). 习惯性的以为int(1)就相当于varchar(1)一样, 其实不然. 下面来说下int相关数据类型的一些简单介绍: 数据类型/字节及取值范围 类型 字节 最小值 最大值 tinyint 1 -128 127 smallint 2 -32768 32767 mediumint 3 -8388608 8388607 int 4 -21474836…
刚才有幸看了下 nvarchar(n)和varchar(n),感觉以前的认知有误. nvarchar(n):n指的是字符个数,范围是1-4000,存储的是可变长度的Unicode字符数据. 按字符存储,1个中文或者英文字符都占2个字节. varchar(n):n指的是字节个数(其实这个地方用[字符]也行,1个字符占一个字节),范围是1-8000,存储的是可变长度的非Unicode字符数据. 按字节存储,1个中文或者英文字符都占1个字节. 实验例子:创建一个People2表,有字段UName,数据…
今天介绍一个MySQL中的数据类型-JSON,相信大家对JSON都不陌生,在日常工作中使用到的频率也很高,话不多说,直接开始. 何谓JSON 看下RFC文档对于JSON的描述 1.基于 JavaScript 语言的轻量级的数据交换格式 2.基于文本 3.语言无关 JSON应用场景 我大概使用过以下两类: 1.接口的数据交换,比如ajax请求时的application/json.rpc调用时的JSON序列化\反序列化: 2.以JSON格式存储数据,我接触过以下两种: 2.1 以Mongodb为代表…