int(4) UNSIGNED 的取值范围是多少?
varchar(255)可以取多少汉字?
可以设置为varchar(600)吗?
一直都很不明白。
smallint(10)的取值范围?
tinyint(10)的取值范围?
float的取值范围?从多少到多少?
希望告诉一下
varchar(255)可以取多少汉字?
可以设置为varchar(600)吗?
一直都很不明白。
smallint(10)的取值范围?
tinyint(10)的取值范围?
float的取值范围?从多少到多少?
希望告诉一下
| 发表于:2009-01-01 18:07:041楼 得分:0 |
| 1、int(4) UNSIGNED:你都写明了是4个数字(不带符号)。 2、varchar(255):Varchar类型,单位是字节的,一个中文字符两个字节,所以varchar(255),储存127个汉字和1个英语字符(除于2有余数)。 3、varchar(600):不能设置为600,varchar范围是1至255个字节之间。 4、smallint(10):好像有些错误,smallint的参数最多只有5,因为smallint的范围是-32768至32768,只有5位数 5、tinyint(10):同4一样,像是错了,tinyint只有-128至128,只有三位 6、float:允许的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。(引用) |
================================
3.varchar(600)是错误的,就是不可以取的,但是我在phpMyAdmin中可以这样设置的,这个?不明白?
($sql = 'ALTER TABLE `img_info` CHANGE `file_type` `file_type` VARCHAR(600) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL'; 在phpmyadmin中执行是成功的)
=================================
好像到时候写入数据时,会把255字节后的自动删除掉的,我还没有证实过,反正,VARCHAR用时,不要超过255为好。
【1】int(4)表示的就是int最多取值是4 位对吗,那么它的取值范围是0~9999,对吗?
【2】varchar(255)最多取值255位,那么varchar(255)最多可以取值127个汉字加上一个英文字母,对吗?
=====================
【3】如果用varchar来储存数字,而且是整数,那么可以存储255位,就是"0~255位数的数字",那么比那个int的取值范围还长??(理解错误了吗?)
【4】一个数字占用了一位,就是位的关系是"1汉字=2数字",对吗?
【5】数字和英文字母的占的位是一样的,那么"1英文字母=1数字",对吗?
======================
【6】byte和bit的关系是1byte=8bits,对吗?那么int(4)表示的是4bits还是4byte呢?(希望知道的人告诉我一下)
【7】TINYINT的取值范围是(-128 到 127),括号中的-128表示的是128位?
======================
很迷惑,希望大家帮忙说明白一下。
【2】varchar(255)最多取值255位,那么varchar(255)最多可以取值127个汉字加上一个英文字母,对吗?
=====================
【3】如果用varchar来储存数字,而且是整数,那么可以存储255位,就是"0~255位数的数字",那么比那个int的取值范围还长??(理解错误了吗?)
【4】一个数字占用了一位,就是位的关系是"1汉字=2数字",对吗?
【5】数字和英文字母的占的位是一样的,那么"1英文字母=1数字",对吗?
======================
【6】byte和bit的关系是1byte=8bits,对吗?那么int(4)表示的是4bits还是4byte呢?(希望知道的人告诉我一下)
【7】TINYINT的取值范围是(-128 到 127),括号中的-128表示的是128位?
======================
很迷惑,希望大家帮忙说明白一下。
第一,第二个问题可想你那样理解。第三,既然是存储整数,那你为什么要有字符来存储呢?用字符存储可能有想不到的后果,比如如果你的一个ID自动增长做为主健,你就不能把ID定义为字符类型。如果你想要整型加大,你可以用bigint类型啊。
4,5问题是所占的字节数相当。
6,bit是字节的最小单位,bit 是位,byte是字节,1byte=8bit,int是4字节,short int是2字节,long int也是4字节,int数据最大长度为11,所以int(4)表示查询4个长度的数据。
7。TINYINT的取值范围是(-128 到 127)表示取值范围,不是128位
4,5问题是所占的字节数相当。
6,bit是字节的最小单位,bit 是位,byte是字节,1byte=8bit,int是4字节,short int是2字节,long int也是4字节,int数据最大长度为11,所以int(4)表示查询4个长度的数据。
7。TINYINT的取值范围是(-128 到 127)表示取值范围,不是128位
就是说int(4)表示的是最多可以取值是4位数的数字,
而tinyint的取值范围是-127~1287的这个"-127~128"表示的是这个数字的数值范围,而不是这个数有多少位,对吗?
范围就是这样,int(4),就是四位数字,tinyint的范围是-127至128,这当然不是位数,是数字范围,tinyint是最小的数据库单位,只需1字节储存。
你的理解正确
没有评论:
发表评论