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中执行是成功的)
=================================
【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位?======================很迷惑,希望大家帮忙说明白一下。
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"表示的是这个数字的数值范围,而不是这个数有多少位,对吗?