1. 程式人生 > >MySQL數據庫基礎知識002

MySQL數據庫基礎知識002

highlight 刪除 blog var 自動 包括 fill 區別 tab

一、My yS SQ QL L 支 持 的 數 據 類

1、對於整型數據,MySQL 還支持在類型名稱後面的小括號內指定顯示寬度,例如 int(5)表
示當數值寬度小於 5 位的時候在數字前面填滿寬度,如果不顯示指定寬度則默認為 int(11)。
一般配合 zerofill 使用,顧名思義,zerofill 就是用“0”填充的意思,也就是在數字位數不夠
的空間用字符“0”填滿。

create table t1 (id1 int,id2 int(5));
insert into t1 values(1,1);
alter table t1 modify id1 int zerofill;

2、設置了寬度限制後,如果插入大於寬度限制的值,會不會截斷或者插不進去報錯?

不會對插入的數據有任何影響,還是按照類型的實際精度進行保存

3、

浮點數如果不寫精度和標度,則會按照實際精度值顯示,如
果有精度和標度,則會自動將四舍五入後的結果插入,系統不會報錯;定點數如果不寫精度
和標度,則按照默認值 decimal(10,0)來進行操作,並且如果數據超越了精度和標度值,系統
則會報錯。

4、字符串類型

MySQL 中提供了多種對字符數據的存儲類型,不同的版本可能有所差異。以 5.0 版本為例,
MySQL 包括了 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等多種
字符串類型

CHAR 和 VARCHAR 很類似,都用來保存 MySQL 中較短的字符串。二者的主要區別在於存儲
方式的不同:CHAR 列的長度固定為創建表時聲明的長度,長度可以為從 0~255 的任何值;
而 VARCHAR 列中的值為可變長字符串,長度可以指定為 0~255 (5.0.3以前)或者 65535 (5.0.3
以後)之間的值。在檢索的時候,CHAR 列刪除了尾部的空格,而 VARCHAR 則保留這些空格。

BINARY 和 VARBINARY 類似於 CHAR 和 VARCHAR,不同的是它們包含二進制字符串
而不包含非二進制字符串。

MySQL數據庫基礎知識002