收藏本站

電腦請使用 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第1課:認識數據庫並安裝MySQL數據

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

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

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

mysql 002|order by的排序算法竟

mysql 002|order by的排序算法竟

MySQL存儲過程小玩一下

MySQL存儲過程小玩一下

MySQL 的 join 功能弱了?

MySQL 的 join 功能弱了?

旗艦標杆:華為雲全新一代雲服務器C7正式公測

旗艦標杆:華為雲全新一代雲服務器C7正式公測

阿裏雲數據庫專家 姚奕瑋:AnalyticDB

阿裏雲數據庫專家 姚奕瑋:AnalyticDB

如何快速入門成為一名數據分析師?先點亮這3個技能

如何快速入門成為一名數據分析師?先點亮這3個技能

阿裏雲數據庫MySQL系列選擇基礎版、高可用版和

阿裏雲數據庫MySQL系列選擇基礎版、高可用版和

Mysql全量與增量備份:認知到實踐的全流程體驗

Mysql全量與增量備份:認知到實踐的全流程體驗