十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
MySQL中int類型占用4個(gè)字節(jié)[byte(B)],1B有8個(gè)位[bit(b)],一個(gè)位(b)就代表一個(gè)0或者1,那么MySQL中int占用4B,對(duì)應(yīng)位就是 4*8b = 32b 了,也就是說 int 表示的數(shù)字 個(gè)數(shù) 是: 2的32次方。
創(chuàng)新互聯(lián)建站專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、洪山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為洪山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
因?yàn)樽止?jié)分有符號(hào)和無符號(hào)兩種,于是 int 有符號(hào) 的 范圍就是 -2的31次方 到 2的31次方減去1 ,即 -2147483648 ~ 2147483647; int 無符號(hào) 的 范圍就是 0 到 2的32次方減去1。
int 代表32位整數(shù),占用4個(gè)字節(jié)取值范圍在(-2147483648~+2147483647)可以看到int類型能接受最大的數(shù)值是2147483647(這個(gè)數(shù)值只有10位),這個(gè)11并不是代表他的位數(shù),而是代表顯示的位數(shù),在mysql中有個(gè)zerofill,在建表的時(shí)候指定了0的話,就是說當(dāng)不足11位的時(shí)候會(huì)用0來補(bǔ)全11位,默認(rèn)的時(shí)候是以空格補(bǔ)全!比如int(4)的一個(gè)字段,你插入12,如果設(shè)定了zerofill的話,最終的結(jié)果是0012,否則的話就是12+空格。int(11)也是一樣的道理!
滿意請(qǐng)采納
每種日期和時(shí)間類型都有一個(gè)有效范圍。如果插入的值超出相應(yīng)范圍,系統(tǒng)會(huì)報(bào)錯(cuò)并將相應(yīng)的零值插入到數(shù)據(jù)庫中,各個(gè)類型的零值請(qǐng)看上表。
YEAR類型用4位數(shù)表示年份。范圍從1901~2155,插入超范圍的值時(shí)系統(tǒng)報(bào)錯(cuò)并插入0000。
DATE類型用YYYY-MM-DD形式顯示日期。范圍從1000-01-01~9999-12-31插入超范圍的值時(shí)系統(tǒng)報(bào)錯(cuò)并插入零值。此類型除了可接受YYYY-MM-DD和YYYYMMDD格式的輸入外,還可以識(shí)別其它一些不嚴(yán)格的語法格式,例如YYYY/MM/DD、YYYY.MM.DD等其他標(biāo)點(diǎn)符號(hào)作為間隔的形式日期值的輸入。
TIME類型用HH:MM:SS形式顯示時(shí)間。其中MM和SS的取值范圍是0~59,HH的取值范圍比較特別其取值范圍是0~838,一般來講小時(shí)數(shù)的范圍是0~23,但是為了滿足特殊情況的需要,MySQL擴(kuò)大了TIME類型的范圍,而且可以接受負(fù)數(shù)。TIME類型支持D HH:MM:S格式的時(shí)間表達(dá)字串,D表示天數(shù),取值范圍0~34。例如,輸入30 21:15:26,系統(tǒng)會(huì)將小時(shí)部分按30*24+21轉(zhuǎn)換為 741:15:26。除了標(biāo)準(zhǔn)的輸入方式HH:MM:SS外,此類型還可以接受一些非標(biāo)準(zhǔn)的輸入方式,例如,輸入12,系統(tǒng)會(huì)轉(zhuǎn)換為00:00:12、輸入1212,系統(tǒng)會(huì)轉(zhuǎn)換為
00:12:12、輸入121212,系統(tǒng)會(huì)轉(zhuǎn)換為12:12:12等。
DATETIME類型用YYYY-MM-SS HH:MM:SS形式顯示日期與時(shí)間。范圍從1000-01-01 00:00:00~9999-12-31 23:59:59 插入超范圍的值時(shí),系統(tǒng)報(bào)錯(cuò)并插入零值(0000-00-00 00:00:00)。此類型除了可接受YYYY-MM-SS HH:MM:SS格式的輸入外,還可以識(shí)別YYYYMMSSHHMMSS形式的輸入值。例如,輸入20170117174856,系統(tǒng)會(huì)轉(zhuǎn)換為
2017-01-17 17:48:56。
TIMESTAMP類型情況與DATETIME類型接近,但是它的取值范圍要比DATETIME類型窄很多,范圍從19700101080001~20380119111407(1970-01-01 08:00:01~2038-01-19 11:14:07)。**另外,TIMESTAMP類型還有一個(gè)特別之處,那就是它的值的時(shí)間部分是根據(jù)時(shí)區(qū)來顯示的,例如在東八區(qū)插入的TIMESTAMP類型值2017-01-16 18:04:25,在東七區(qū)的時(shí)間部分會(huì)顯示17:04:25,而在東九區(qū)則變?yōu)?9:04:25,對(duì)于這一點(diǎn)我們要特別留意。**
我們?cè)谶x擇日期與時(shí)間數(shù)據(jù)類型時(shí),請(qǐng)根據(jù)實(shí)際需求選擇相應(yīng)的類型,一般應(yīng)選擇剛好夠用最好,這樣可節(jié)省系統(tǒng)資源。例如只需要知道日期的選擇DATE類型、需要同時(shí)知道日期與時(shí)間的就選擇DATETIME類型、僅僅需要記錄時(shí)間的則選擇TIME類型等。
mysql中text 最大長度為65,535(2的16次方–1)字符的TEXT列。
如果覺得text長度不夠,可以選擇:
1、MEDIUMTEXT最大長度為16,777,215
2、LONGTEXT最大長度為4,294,967,295
使用方法:
mysql中的text對(duì)應(yīng)oracle中的clob,又分為TINYTEXT, TEXT, MEDIUMTEXT,LONGTEXT, 都是表示數(shù)據(jù)長度類型的一種。
語法:[ UNSIGNED ] mediutext
TINYTEXT: 256 bytes
TEXT: 65,535 bytes = ~64kb
MEDIUMTEXT: 16,777,215 bytes = ~16MB
擴(kuò)展資料:
text等字段需要慎重使用,多個(gè)text字段會(huì)報(bào)錯(cuò),Row size too large 表示行的內(nèi)容太多了。
修改方法:
1、首先查詢下參數(shù)的值:
mysql SELECT @@global.max_sort_length;
2、然后去設(shè)置這個(gè)值:(數(shù)字根據(jù)需要自行填寫)
mysql SET GLOBAL max_sort_length=2048;
當(dāng)排序時(shí)只使用該列的前max_sort_length個(gè)字節(jié)。max_sort_length的 默認(rèn)值是1024;該值可以在啟動(dòng)mysqld服務(wù)器時(shí)使用–max_sort_length選項(xiàng)進(jìn)行更改。
text 和 char varchar blob這幾種類型的區(qū)別:
char:定長,最大255個(gè)字符
varchar:變長,最大65535個(gè)字符(既是單列的限制,又是整行的限制)
text:變長,有字符集的大對(duì)象,并根據(jù)字符集進(jìn)行排序和校驗(yàn),大小寫不敏感
blob:變長,無字符集的二進(jìn)制大對(duì)象,大小寫敏感