MySQL版本對varchar的定義和限制條件

2021-09-27 08:45:14 字數 412 閱讀 7186

目錄

1、mysql版本對varchar的定義

2、儲存限制

3、編碼限制

4、長度限制

4.0版本以下,varchar(50),指的是50位元組,如果存放utf8漢字時,只能存16個(每個中文3位元組)

5.0版本以上,varchar(50),指的是50字元,無論存放的是數字、字母還是utf8中文(每個中文3位元組),都可以存放50個 

需要額外占用位元組存放字元的長度:小於255為1個位元組,大於255則要2個位元組

gbk :每個字元最多占用2個位元組

utf8:每個字元最多占用3個位元組

utf8mb4 每個字元最多占用4個位元組,中文佔3個位元組,emoji表情符號 占用4個位元組 

mysql定義行的長度不能超過65535。

MySQL中對varchar型別排序問題

在今天開發時碰到了這樣的乙個問題 在資料庫表中有乙個對varchar型別的數值進行desc排序,很簡單的要求吧。可是奇怪的現象出現了。表中的資料不會根據從高到底進行排序了。瞬間有點淚奔的感覺呀。還好經過高手指點啊。所以想和大家分享一下。希望下乙個mysql初學者以後不要像我一樣了啊。還是廢話少說,看...

MySQL中對varchar型別排序問題

在資料庫表中有乙個對varchar型別的數值進行desc排序,很簡單的要求吧。可是奇怪的現象出現了表中的資料不會根據從高到底進行排序了瞬間有點淚奔的感覺呀還好經過高手指點啊。所以想和大家分享一下希望下乙個mysql初學者以後不要像我一樣了啊還是廢話少說,看 吧 如 有一張t testdemo表,其有...

MySql中varchar和varchar的區別

看了新公司的資料庫設計,有些問題思考了一下,寫這篇文章也就記錄這個問題的思考過程。首先從占用空間進行比較,varchar 10 宣告10個位元組,資料儲存時額外乙個位元組的長度字首 varchar 1000 宣告1000個位元組,如果資料長度大於255,長度字首是兩個位元組。而實際varchar資料...