关闭

MySQL常用数据类型

240人阅读 评论(0) 收藏 举报

名称
 
长度
 
 
 
 
用法
 
TINYINT(M)
 
BIT,BOOL,BOOLEAN
 
1
 
如果为无符号数,可以存储从0到255的数;
 
否则可以存储从-128到127的数。
 
SMALLINT(M)
 
2
 
如果为无符号数,可以存储从0到65535的数;
 
否则可以存储从-32768到32767的数。
 
MEDIUMINT(M)
 
3
 
如果为无符号数,可以存储从0到16777215的数;否则可以存储从-8388608到8388607的数
 
INT(M)
 
INTEGER(M)
 
4
 
如果为无符号数,可以存储从0到4294967295的数,否则可以存储从-2147483648到2147483647的数。
 
BIGINT(M)
 
8
 
如果为无符号数,可以存储从0到18446744073709551615的数,否则可以存储从-9223372036854775808到9223372036854775807的数。
 
FLOAT(precision)
 
4或8
 
这里的precision是可以直达53的整数。如果precision<=24则转换为FLOAT,如果precision>24并且precision<=53则转换为DOUBLE。
 
FLOAT(M,D)
 
4
 
单精度浮点数。
 
DOUBLE(M,D),
 
DOUBLE PRECISION,
 
REAL
 
 
 
 
8
 
双精度浮点。
 
DECIMAL(M,D),
 
DEC,NUMERIC,FIXED
 
M+1或M+2
 
未打包的浮点数。
 
DATE
 
3
 
以YYYY-MM-DD的格式显示。
 
DATETIME
 
HH:MM:SS
 
8
 
以YYYY-MM-DD的格式显示。
 
TIMESTAMP
 
4
 
以YYYY-MM-DD的格式显示。
 
TIME
 
3
 
以HH:MM:SS的格式显示。
 
YEAR
 
1
 
以YYYY的格式显示。
 
CHAR(M)
 
M
 
定长字符串。
 
VARCHAR(M)
 
最大M
 
变长字符串。M<=255.
 
TINYBLOB,
 
TINYTEXT
 
最大255
 
TINYBLOB为大小写敏感,而TINYTEXT不是大小写敏感的。
 
BLOB,
 
TEXT
 
最大64K
 
BLOB为大小敏感的,而TEXT不是大小写敏感的。
 
MEDIUMBLOB,
 
MEDIUMTEXT
 
最大16M
 
MEDIUMBLOB为大小写敏感的,而MEDIUMTEXT不是大小敏感的。
 
LONGBLOB,
 
LONGTEXT
 
最大4G
 
LONGBLOB为大小敏感的,而LONGTEXT不是大小敏感的。
 
ENUM(VALUE1,….)
 
1或2
 
最大可达65535个不同的值。
 
SET(VALUE1,….)
 
可达8
 
最大可达64个不同的值。
 


第一个:

VARCHAR通常用来表示最多为255个字符的变量长度字符串。如果你要储存和处理字母数字类的数据,这种数据类型是最合适的。适用于这类数据的典型例 子包括人名,邮政编码,电话号码和不超过255个字符长度的任意字母数字组合。那些要用来计算的数字不要用VARCHAR类型保存,因为可能会导致一些与 计算相关的问题。换句话说,可能影响到计算的准确性和完整性。

第二个:
DECIMAL最适合保存那些将被用于计算的数据。在MySQL中,我们可以指定保存一些正当的数字。还可以指定是否允许存在负值。
指定DECIMAL类型的长度会有些棘手。例如,如果你需要在小数点前面保存五位数,且小数点后只保留三位,那么在数据库中其适当的长度将 是:Decimal(5+3,3)或 Decimal(8,3),可以使用的数据包括:12345.678,56872.690,11.6和12.568等。而这些数字则会引发出错信 息:128781.1,8972865.231。

第三个:
建议用DATE数据类型来保存日期。MySQL中默认的日期格式是yyyy-mm-dd。

第四个:
INT数据类型可以用来保存那些不包含小数点的数字。INT代表整数。
有些整数类型以及他们最多所能拥有的数字位我们必须有所了解:
·TINYINT——这个类型最多可容纳三位数。
·SMALLINT——最多可容纳五位数。
·MEDIUMINT——最多可容纳八位数。
·INT——可以容纳十位数。
·BIGINT——最多可容纳二十位数。

第五个:
TEXT可以接受文本输入,VARCHAR只能接受255个字符,但是TEXT可以用来存储超量的数据。

第六个:
当TIMESTAMP数据类型被选定,可以点击“CURRENT_TIMESTAMP”作为默认,MySQL会自动返回每个MySQL数据插入的确切时间。


下面是一些推荐的数据库设计规格:
1. 第一个数值域:
要收集的数据:客户姓名
推荐域名:customername
MySQL数据类型:VARCHAR
允许的客户名最大长度:64

2. 第二个数值域:
要收集的数据:价格
推荐域名:price
MySQL数据类型:DECIMAL
小数点前最多允许位数:4
小数点后保留到3位
最终的小数位长度:DECIMAL(4+3, 3) 或者 DECIMAL(7, 3)
不允许出现负值

3. 第三个数值域:
要收集的数据:购买日期
推荐域名:datepurchased
MySQL数据类型:DATE
最大长度:不可用

4. 第四个数值域:
要收集的数据:产品序列号
推荐域名:productkey
MySQL数据类型:SMALLINT
该变量的最大长度:5
其他属性:少于5时用0填补,不允许出现负值

5. 第五个数值域:
要收集的数据:投诉细则
推荐域名:complaintdetails
MySQL数据类型:TEXT
最大字符长度:取决于用户的输入情况

6. 第六个数值域:
要收集的数据:投诉受理日期
推荐域名:reveivingdate
MySQL数据类型:TIMESTAMP
其他属性:为Current_Timestamp设置默认值,这样它便可以记录投诉的确切时间。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:129231次
    • 积分:1274
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:102篇
    • 译文:0篇
    • 评论:5条
    最新评论