收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

小編的世界 優質文選 資料

mysql中varchar(n)中的n到底是指的什麼


字體大小:
2020年8月10日 -
:        
 

科技達人,優質創作者

varchar就是mysql數據庫中定義列為字符串的一種數據類型。使用varchar定義列時需要指定這個列存放數據的長度上限,就可以通過varchar(n)中的n來實現。

但是這個n,有的說是字節數,存放英文和漢字時會有不同的效果。而有的又說是字符數。那究竟是什麼呢。

實際操作一下試試看吧。先創建一張表。

這張表中tname列設置的是varchar(7)。

我的數據庫設置的模式是如果數據超出列設置的長度,則截短到符合列設置的長度並給出警告,而不是報錯。

我們來執行下面的sql看看最終執行效果就可以看出來varchar(n)中的n到底是指的什麼了。

四條插入語句,兩條是插入英文字母的,兩條是插入中文的。

看執行結果是插入了4條數據,但是產生了2條警告,警告的內容是tname列的數據被截斷了。

再來看看數據。

可以看到,不論是英文字母,還是中文漢字超出7個字符的都只保留了7個字符。那看來這個varchar(n)中的n指的是字符數了。

那varchar(n)中的n指的是字節數這種說法是錯的嗎?其實也不是錯誤的。這種說法是對於早期版本(4.0版本及以下)而言的。到了5.0版本開始就是這個n指的就是字符數了。

好了,今天的內容就到這裏了。有問題、意見建議的朋友歡迎評論或私信告訴我。

  大家在看    
MySQL與Redis緩存一致性問題

MySQL與Redis緩存一致性問題

圖文詳解!吃透 MySQL中處理分層數據的模型手

圖文詳解!吃透 MySQL中處理分層數據的模型手

展會|萬裏數據庫受邀2021DTCC 展現新一代

展會|萬裏數據庫受邀2021DTCC 展現新一代

查詢速度提升10倍!StarRocks在格洛博電

查詢速度提升10倍!StarRocks在格洛博電

MySQL存儲過程小玩一下

MySQL存儲過程小玩一下

新同事上來就優化了一遍MySQL索引和查詢,老板

新同事上來就優化了一遍MySQL索引和查詢,老板

MySQL第1課:認識數據庫並安裝MySQL數據

MySQL第1課:認識數據庫並安裝MySQL數據

MySQL:互聯網公司常用分庫分表方案匯總

MySQL:互聯網公司常用分庫分表方案匯總

雲呐運維一體機|Mysql數據庫監控管理系統

雲呐運維一體機|Mysql數據庫監控管理系統

mysql 002|order by的排序算法竟

mysql 002|order by的排序算法竟