日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 列类型

發(fā)布時(shí)間:2023/12/9 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 列类型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

列類型

整型 tinyint,smallint,mediumint,int,bigint ?(可選參數(shù)unsigned ,(M,zerofill,結(jié)合使用才有意義))

浮點(diǎn)型 float(可選參數(shù)D,M) decimal(可選參數(shù)D,M)

字符串型 char(M) varchar(M) text-文本類型

日期時(shí)間類型 date,time,datatime,year


給表追加一個(gè)列,列類型為無符號(hào)tinyint

alter table [vg] add [id] tinyint unsigned not null default 0;

?

表中可存入255的id

insert into vg

(sname,id)

values

('test',255);


#分析M參數(shù)

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);


#這時(shí)候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 |

+--------+-----+-------+------+------+-------+


#比較上一個(gè)顯示,能看出M和zerofill結(jié)合的意義

#總結(jié):M表示補(bǔ)0的寬度,和zerofill結(jié)合使用才有意義


char(M) 定義之后每個(gè)列的存儲(chǔ)長度是固定的,M個(gè)固定編碼(utf8,gbk)長度 ?(查詢速度比較快,造成一定資源浪費(fèi))

類比于:不管遠(yuǎn)近,投幣一元的公交,對(duì)短途造成浪費(fèi)


varchar(M) 長度可以是(0--<M) 根據(jù)具體存入的字符個(gè)數(shù)決定(會(huì)加入一個(gè)頭記錄記錄字符的長度,用于查找)(查詢速度稍慢,資源利用率一定程度會(huì)比較高)

類比于:分段收費(fèi),需要增加一個(gè)售票員記錄遠(yuǎn)近收費(fèi)


轉(zhuǎn)載于:https://blog.51cto.com/codeyi/1732011

總結(jié)

以上是生活随笔為你收集整理的mysql 列类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。