MySQL数据库数据类型

ban*_*ing 8 mysql database data-structures

我是数据库编程的新手,我有一个非常基本的问题:

在我用于在我的数据库中创建表的PHPMyAdmin GUI中,当"type"(即.atatatype)列具有数据类型并且之后括号中的内容时,它意味着什么.例如:int(20),bigint(30).....

我理解int和bigint类型意味着使用的字节数,因此意味着可以存储的值的范围.但括号中的值是什么意思?

(20)和(30)代表什么......这对...有什么影响......

对不起,如果Q是基本的,我试图了解数据库....

非常感谢

sll*_*sll 12

基本上这是一个显示宽度.

我发现这个概念的很好的解释这里因此决定不形容了自己,让你自己从原来的源读取它.

与可以为字符串数据类型指定max-length的方式相同(例如,VARCHAR(5)=最多5个字符),数字数据类型单元格可以指定"显示长度"(例如:INT(5)).

有一种常见的误解,即在INT列上指定显示长度将限制该列的范围.例如,人们常常认为将列定义为INT(1)会将列的无符号范围减少到0 - 9,并且INT(2)会将列的无符号范围减小到0 - 99.事实并非如此.一个INT数据列将总是有一个可行的无符号范围的0 - 4294967295,或-2147483648到2147483647有符号范围内,而不论指定显示宽度的,无论它是1(INT(1) )或20(INT(20)).

  1. 显示宽度不会更改数据类型的存储要求.
  2. 显示宽度不会以任何方式改变实际数据(即:它存储数据的整个值)
  3. 在查询中调用时,无论显示宽度如何,列都会返回它的完整值(该书直接与上面提到的声明相矛盾)