一 1.1 創建表
CREATE TABLE t1( id1 int, id2 INT(5) ); DESC t1;

2 插入數據查看
INSERT INTO t1 VALUES(1,1); SELECT * from t1;

3 修改以零填充后查看
ALTER TABLE t1 MODIFY id1 INT ZEROFILL; ALTER TABLE t1 MODIFY id2 INT(5) ZEROFILL; SELECT * from t1;

4 插入大於定義的寬度,不會對插入的數據有任何影響,還會按照類型的實際進度進行保存,這時寬度格式已經沒有任何意義。
SELECT * from t1; INSERT into t1 VALUES(1,1111111);

二 :float,double,decimal
CREATE TABLE t2( id1 FLOAT(5,2) NOT NULL, id2 DOUBLE(5,2) NOT NULL, id3 DECIMAL(5,2) NOT NULL ); INSERT INTO t2 VALUES(1.23,1.23,1.23); INSERT into t2 VALUES(1.234,1.234,1.23); INSERT into t2 VALUES(1.234,1.234,1.234); SELECT * from t2;

2 更改再插入1.234,
ALTER TABLE t2 MODIFY id1 FLOAT; ALTER TABLE t2 MODIFY id2 DOUBLE; ALTER TABLE t2 MODIFY id3 DECIMAL; SELECT * from t2;

1 這個例子說明,浮點數如果不寫精度和標度,就會按照實際精度值顯示,如果有精度和標度,則會自動將四舍五入的結果插入。系統並不會報錯
2 定點數如果不寫精度和標度,會按照默認值decimal(10,0)進行操作,並且如果數據超越了精度和標度值,系統會報錯錯
3 浮點數后面跟(M,D)是非標准用法,如果用是據庫的遷移,最好不要這么用
三 BIt型
use test01; CREATE TABLE t3( id BIT(1) ); INSERT INTO t3 VALUES(1); SELECT * from t3;
這樣是顯示不出來的

ALTER TABLE t3 MODIFY id BIT(2); INSERT into t3 VALUES(2);
select bin(id),hex(id) from t3;


