mysql中的varchar(n)可以存儲幾個漢字

varchar存儲字段大小

我從網上搜到的是和mysql的版本有關:
4.0版本以下:varchar(n),指的是n個字節,如果存放UTF8漢字時,只能存n/3個(每個漢字3字節)。
5.0版本以上:varchar(n),指的是n個字符,無論存放的是數字、字母還是UTF8漢字(每個漢字3字節),都可以存放n個。
我的mysql版本是8.0版本的,應該是可以存儲n個漢字,以下是我做的能否存儲的測試,以varchar(10)爲例

測試

  1. cmd命令下打開mysqlnet start mysql,登錄mysqlmysql -uroot -p,輸入密碼。
  2. 選擇數據庫use database;,可以使用show databases;查看都有哪些數據庫。
  3. 創建表格,其中設置varchar類型的變量create table var(name varchar(10));
  4. 表格中添加記錄insert into var values(' ');添加不同長度的值就可以進行測試了,以下是我的結果,varchar(10)確實可以存儲10個漢字
    字段大小測試

問題

我很長時間沒有在命令提示符中使用mysql了,之前用的是navicat,以下是我在使用cmd遇到的問題

  1. 啓動時mysql報錯:發生系統錯誤5,拒絕訪問。解決方法,找到cmd.exe文件,右鍵,以管理員身份運行
  2. 登錄時報錯:mysql不是內部或外部命令。這個是因爲沒有配置環境變量,解決方法:配置環境變量即可,將mysql的bin目錄路徑添加到系統變量path中。
  3. sql語句的問題:我在使用數據庫時在數據庫名前加了database,結果報錯unknown database,還有諸如此類的很多問題,sql的語法要求很嚴格,一定要保證sql語句的正確.