列類型
整型 tinyint,smallint,mediumint,int,bigint (可選參數unsigned ,(m,zerofill,結合使用才有意義))
浮點型 float(可選參數d,m) decimal(可選參數d,m)
字符串型 char(m) varchar(m) text-文本類型
日期時間類型 date,time,datatime,year
給表追加一個列,列類型為無符號tinyint
alter?table?[vg]?add?[id]?tinyint?unsigned?not?null?default?0;
表中可存入255的id
insert?into?vg (sname,id) values ('test',255);
#分析M參數
alter?table?vg?add?age1?tinyint(1)?not?null?default?0; insert?into?vg?class?(sname,age1)?values?('M1',3); insert?into?vg?(sname,age1)?values?('agin?M',99);
#這時候M是沒有意義的
select?*?from?vg; +--------+-----+-------+------+------+ |?sname?|?age?|?socre?|?test?|?age1?| +--------+-----+-------+------+------+ |?劉備?|?28?|?0?|?0?|?0?| |?張飛?|?0?|?-1?|?0?|?0?| |?test?|?0?|?0?|?255?|?0?| |?M1?|?0?|?0?|?0?|?3?| |?agin?M?|?0?|?0?|?0?|?99?| +--------+-----+-------+------+------+
#M必須和zerofill配合才有意義
增加列
alter?table?vg?add?snum?smallint(5)?zerofill?not?null?default?0; insert?into?vg?(sname,snum)?values?('呂布',1); insert?into?vg?(sname,snum)?values?('廖化',15);
select?*?from?vg; +--------+-----+-------+------+------+-------+ |?sname?|?age?|?socre?|?test?|?age1?|?snum?| +--------+-----+-------+------+------+-------+ |?劉備?|?28?|?0?|?0?|?0?|?00000?| |?張飛?|?0?|?-1?|?0?|?0?|?00000?| |?test?|?0?|?0?|?255?|?0?|?00000?| |?M1?|?0?|?0?|?0?|?3?|?00000?| |?agin?M?|?0?|?0?|?0?|?99?|?00000?| |?呂布?|?0?|?0?|?0?|?0?|?00001?| |?廖化?|?0?|?0?|?0?|?0?|?00015?| +--------+-----+-------+------+------+-------+
#比較上一個顯示,能看出M和zerofill結合的意義
#總結:M表示補0的寬度,和zerofill結合使用才有意義
char(M) 定義之后每個列的存儲長度是固定的,M個固定編碼(utf8,gbk)長度 (查詢速度比較快,造成一定資源浪費)
類比于:不管遠近,投幣一元的公交,對短途造成浪費
varchar(M) 長度可以是(0–
以上就是mysql 列類型的內容,更多相關內容請關注PHP中文網(www.php.cn)!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END