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

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