收藏本站

電腦請使用 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全量與增量備份:認知到實踐的全流程體驗

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

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

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

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

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

億速雲提供的雲數據庫MySQL,基於本地SSD存

億速雲提供的雲數據庫MySQL,基於本地SSD存

阿裏五位MySQL封神大佬耗17個月總結出53章

阿裏五位MySQL封神大佬耗17個月總結出53章

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

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

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

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

「收藏」MySQL數據庫實用小技巧

「收藏」MySQL數據庫實用小技巧

Alibaba頂級MySQL筆記,學會80%面試

Alibaba頂級MySQL筆記,學會80%面試

MySQL如何實現 DTLE 自動化測試-愛可生

MySQL如何實現 DTLE 自動化測試-愛可生