資訊內(nèi)容
MySQL中char和varchar的區(qū)別是什么
K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
MySQL中char和varchar的區(qū)別是什么K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
區(qū)別一、定長和變長的區(qū)別K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
1、char 表示定長,長度固定;K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
2、varchar表示變長,即長度可變。K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
當(dāng)所插入的字符串超出它們的長度時(shí),視情況來處理,如果是嚴(yán)格模式,則會(huì)拒絕插入并提示錯(cuò)誤信息,如果是寬松模式,則會(huì)截取然后插入。如果插入的字符串長度小于定義長度時(shí),則會(huì)以不同的方式來處理,如char(10),表示存儲(chǔ)的是10個(gè)字符,無論你插入的是多少,都是10個(gè),如果少于10個(gè),則用空格填滿。而varchar(10),小于10個(gè)的話,則插入多少個(gè)字符就存多少個(gè)。K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
varchar怎么知道所存儲(chǔ)字符串的長度呢?實(shí)際上,對(duì)于varchar字段來說,需要使用一個(gè)(如果字符串長度小于255)或兩個(gè)字節(jié)(長度大于255)來存儲(chǔ)字符串的長度。但是因?yàn)樗枰幸粋€(gè)prefix來表示他具體bytes數(shù)是多少(因?yàn)関archar是變長的,沒有這個(gè)長度值他不知道如何讀取數(shù)據(jù))。K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
推薦:MySQL教程K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
區(qū)別二、存儲(chǔ)的容量不同K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
1、對(duì) char 來說,**多能存放的字符個(gè)數(shù) 255,和編碼無關(guān)。K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
2、而 varchar 呢,**多能存放 65532 個(gè)字符。VARCHAR 的**大有效長度由**大行大小和使用的字符集確定。整體**大長度是 65,532字節(jié)K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
在MySQL中用來判斷是否需要進(jìn)行對(duì)據(jù)列類型轉(zhuǎn)換的規(guī)則K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
1、在一個(gè)數(shù)據(jù)表里,如果每一個(gè)數(shù)據(jù)列的長度都是固定的,那么每一個(gè)數(shù)據(jù)行的長度也將是固定的.K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
2、只要數(shù)據(jù)表里有一個(gè)數(shù)據(jù)列的長度的可變的,那么各數(shù)據(jù)行的長度都是可變的.K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
3、如果某個(gè)數(shù)據(jù)表里的數(shù)據(jù)行的長度是可變的,那么,為了節(jié)約存儲(chǔ)空間,MySQL會(huì)把這個(gè)數(shù)據(jù)表里的固定長度類型的數(shù)據(jù)列轉(zhuǎn)換為相應(yīng)的可變長度類型.例外:長度小于4個(gè)字符的char數(shù)據(jù)列不會(huì)被轉(zhuǎn)換varchar類型K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
更多技術(shù)請(qǐng)關(guān)注python視頻教程。K1o少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

- 上一篇
python如何計(jì)算夏普比率?
簡介1、夏普比率的計(jì)算代碼:import numpy as npimport pandas as pdnp.random.seed(0)# Simulate cumulative returns of&n
- 下一篇
2020年最流行的12個(gè)python開源框架
簡介12個(gè)在GitHub等開源網(wǎng)站中最受歡迎的Python開源框架。如果你正在學(xué)習(xí)python,那么這12個(gè)開源框架,千萬別錯(cuò)過,這些框架包括事件I/O,OLAP,Web開發(fā),高性能網(wǎng)絡(luò)通信,測試,爬蟲等。雖說不上是全都有,但也足夠滿足你了。1.DjangoDjango是一款用Python語言寫的免費(fèi)開