mysql5.7四字节中文_mysql 字节问题,中文和数字
在mysql 5.1.5-alpha下測(cè)試得出如下結(jié)論
latin1:
1character=1byte,?1漢字=2character,
也就是說(shuō)一個(gè)字段定義成 varchar(200),則它可以存儲(chǔ)100個(gè)漢字或者200個(gè)字母。
這一點(diǎn)要注意,尤其是當(dāng)字段內(nèi)容是字母和漢字組成時(shí),盡量假設(shè)字段內(nèi)容都是由漢字組成,據(jù)此來(lái)設(shè)置字段長(zhǎng)度
utf8:
1character=3bytes, 1漢字=1character
也就是說(shuō)一個(gè)字段定義成 varchar(200),則它可以存儲(chǔ)200個(gè)漢字或者200個(gè)字母。
gbk:
1character=2bytes,1漢字=1character
也就是說(shuō)一個(gè)字段定義成 varchar(200),則它可以存儲(chǔ)200個(gè)漢字或者200個(gè)字母。
數(shù)字類型
根據(jù)字節(jié)數(shù)即可算出表示的范圍了
TINYINT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1 字節(jié)
SMALLINT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 個(gè)字節(jié)
MEDIUMINT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3 個(gè)字節(jié)
INT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 個(gè)字節(jié)
INTEGER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 個(gè)字節(jié)
BIGINT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8 個(gè)字節(jié)
FLOAT(X) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4 如果 X < = 24 或 8 如果 25 < = X < = 53
FLOAT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 個(gè)字節(jié)
DOUBLE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8 個(gè)字節(jié)
DOUBLE PRECISION ? ? ? ? ? ? ? ? ?8 個(gè)字節(jié)
REAL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8 個(gè)字節(jié)
DECIMAL(M,D) ? ? ? ? ? ? ? ? ? ? ? ? ?M字節(jié)(D+2 , 如果M < D)
NUMERIC(M,D) ? ? ? ? ? ? ? ? ? ? ? ? ?M字節(jié)(D+2 , 如果M < D)
日期和時(shí)間類型
DATE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3 個(gè)字節(jié)
DATETIME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8 個(gè)字節(jié)
TIMESTAMP ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 個(gè)字節(jié)
TIME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3 個(gè)字節(jié)
YEAR ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 字節(jié)
字符串類型
CHAR(M) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?M字節(jié),1 <= M <= 255
VARCHAR(M) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? L+1 字節(jié), 在此L <= M和1 <= M <= 255
TINYBLOB, TINYTEXT ? ? ? ? ? ? ? ? ? ? L+1 字節(jié), 在此L< 2 ^ 8
BLOB, TEXT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? L+2 字節(jié), 在此L< 2 ^ 16
MEDIUMBLOB, MEDIUMTEXT ? ? ? ? L+3 字節(jié), 在此L< 2 ^ 24
LONGBLOB, LONGTEXT ? ? ? ? ? ? ? ? L+4 字節(jié), 在此L< 2 ^ 32
ENUM(‘value1‘,‘value2‘,...) ? ? ? ? ? ? ? ?1 或 2 個(gè)字節(jié), 取決于枚舉值的數(shù)目(最大值65535)
SET(‘value1‘,‘value2‘,...) ? ? ? ? ? ? ? ? ? ?1,2,3,4或8個(gè)字節(jié), 取決于集合成員的數(shù)量(最多64個(gè)成員)
其中:
1. bit:位
一個(gè)二進(jìn)制數(shù)據(jù)0或1,是1bit;
2. byte:字節(jié)
存儲(chǔ)空間的基本計(jì)量單位,如:MySQL中定義 VARCHAR(45)? 即是指 45個(gè)字節(jié);
1 byte = 8 bit
3. 一個(gè)英文字符占一個(gè)字節(jié);
1 字母 = 1 byte = 8 bit
4. 一個(gè)漢字占2個(gè)字節(jié);
1 漢字 = 2 byte = 16 bit
byte:一個(gè)字節(jié)(8位)(-128~127)(-2的7次方到2的7次方-1)
short:兩個(gè)字節(jié)(16位)(-32768~32767)(-2的15次方到2的15次方-1)
int:四個(gè)字節(jié)(32位)(一個(gè)字長(zhǎng))(-2147483648~2147483647)(-2的31次方到2的31次方-1)
long:八個(gè)字節(jié)(64位)(-9223372036854774808~9223372036854774807)(-2的63次方到2的63次方-1)
float:四個(gè)字節(jié)(32位)(3.402823e+38 ~ 1.401298e-45)(e+38是乘以10的38次方,e-45是乘以10的負(fù)45次方)
double:八個(gè)字節(jié)(64位)(1.797693e+308~ 4.9000000e-324
原文:https://www.cnblogs.com/aoxueshou/p/9547388.html
總結(jié)
以上是生活随笔為你收集整理的mysql5.7四字节中文_mysql 字节问题,中文和数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python语言基本控制结构有哪些-以下
- 下一篇: Java 基础之java运算符