偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MySQL數(shù)據(jù)庫(kù)中varchar的限制規(guī)則

數(shù)據(jù)庫(kù) MySQL
本文我們主要介紹了MySQL數(shù)據(jù)庫(kù)中varchar的限制規(guī)則,并以一個(gè)實(shí)際的例子對(duì)限制規(guī)則進(jìn)行了說明,希望能夠?qū)δ兴鶐椭?/div>

MySQL數(shù)據(jù)庫(kù)中varchar***長(zhǎng)度是多少?其實(shí)這不是一個(gè)固定的數(shù)字,varchar的長(zhǎng)度是有限制規(guī)則的。本文我們就來介紹一下MySQL數(shù)據(jù)庫(kù)中varchar的限制規(guī)則,并以一個(gè)實(shí)際的例子對(duì)限制規(guī)則進(jìn)行了說明,接下來就讓我們一起來了解一下這部分內(nèi)容。

1、限制規(guī)則

字段的限制在字段定義的時(shí)候有以下規(guī)則:

a)存儲(chǔ)限制

varchar字段是將實(shí)際內(nèi)容單獨(dú)存儲(chǔ)在聚簇索引之外,內(nèi)容開頭用1到2個(gè)字節(jié)表示實(shí)際長(zhǎng)度(長(zhǎng)度超過255時(shí)需要2個(gè)字節(jié)),因此***長(zhǎng)度不能超過65535。

b)編碼長(zhǎng)度限制

字符類型若為gbk,每個(gè)字符最多占2個(gè)字節(jié),***長(zhǎng)度不能超過32766;

字符類型若為utf8,每個(gè)字符最多占3個(gè)字節(jié),***長(zhǎng)度不能超過21845。

若定義的時(shí)候超過上述限制,則varchar字段會(huì)被強(qiáng)行轉(zhuǎn)為text類型,并產(chǎn)生warning。

c)行長(zhǎng)度限制

導(dǎo)致實(shí)際應(yīng)用中varchar長(zhǎng)度限制的是一個(gè)行定義的長(zhǎng)度。MySQL要求一個(gè)行的定義長(zhǎng)度不能超過65535。若定義的表長(zhǎng)度超過這個(gè)值,則提示ERROR1118(42000):Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.YouhavetochangesomecolumnstoTEXTorBLOBs。

2、計(jì)算例子

舉兩個(gè)例說明一下實(shí)際長(zhǎng)度的計(jì)算。

a)若一個(gè)表只有一個(gè)varchar類型,如定義為createtablet4(cvarchar(N))charset=gbk;則此處N的***值為(65535-1-2)/2=32766。

減1的原因是實(shí)際行存儲(chǔ)從第二個(gè)字節(jié)開始’;

減2的原因是varchar頭部的2個(gè)字節(jié)表示長(zhǎng)度;

除2的原因是字符編碼是gbk。

b)若一個(gè)表定義為createtablet4(cint,c2char(30),c3varchar(N))charset=utf8;則此處N的***值為(65535-1-2-4-30*3)/3=21812。

減1和減2的原因與上例相同;

減4的原因是int類型的c占4個(gè)字節(jié);

減30*3的原因是char(30)占用90個(gè)字節(jié),編碼是utf8。

如果varchar超過上述的b規(guī)則,被強(qiáng)制轉(zhuǎn)成text類型,則每個(gè)字段占用定義長(zhǎng)度為11字節(jié),當(dāng)然這已經(jīng)不是“varchar”了。

關(guān)于MySQL數(shù)據(jù)庫(kù)中varchar的限制規(guī)則的知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. MySQL簡(jiǎn)單操作之用select查詢表中的記錄
  2. MySQL簡(jiǎn)單操作之a(chǎn)ltertable改變表的結(jié)構(gòu)
  3. 六條比較有用的MySQL數(shù)據(jù)庫(kù)操作的SQL語(yǔ)句
  4. 利用SSAS創(chuàng)建多維數(shù)據(jù)庫(kù)時(shí)的問題總結(jié)及優(yōu)化方案
  5. MySQL簡(jiǎn)單操作之用update和delete來修改和刪除數(shù)據(jù)
責(zé)任編輯:趙鵬 來源: 追風(fēng)刀·丁奇
相關(guān)推薦

2011-04-27 09:25:13

MySQL字符型數(shù)據(jù)

2010-07-05 11:20:53

2011-03-28 13:25:27

MySQL數(shù)據(jù)庫(kù)哈希加密

2018-05-16 14:24:53

2010-10-13 11:59:50

MySQL表命名

2012-04-12 09:09:41

數(shù)據(jù)庫(kù)

2010-05-20 14:25:25

2010-07-01 11:14:36

SQL Server

2011-04-07 09:06:27

MySQL數(shù)據(jù)庫(kù)密碼

2010-06-01 11:28:43

MySQL數(shù)據(jù)庫(kù)

2023-05-29 15:23:37

MySQL數(shù)據(jù)庫(kù)函數(shù)

2018-07-30 15:00:05

數(shù)據(jù)庫(kù)MySQLJOIN

2010-04-15 12:43:06

Oracle數(shù)據(jù)庫(kù)

2021-04-23 10:21:26

人工智能人工智能技術(shù)AI

2018-09-11 17:13:23

MySQ數(shù)據(jù)庫(kù)重復(fù)記錄

2011-03-08 08:49:55

MySQL優(yōu)化單機(jī)

2011-05-13 09:42:21

2011-03-30 14:08:27

MySQL數(shù)據(jù)庫(kù)刪除恢復(fù)

2010-06-02 11:24:57

MySQL數(shù)據(jù)庫(kù)主鍵

2010-04-13 11:09:21

Oracle數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)