MYSQL入门到精通【5】:关于int(n) & char(n) & varchar(n)的分析解释
1. 字符的分析解释
位、字节和字符的区别:
位 | 字节 | 字符 |
---|---|---|
8 | 1 | 字数 |
ASCII表:针对单字节的表
字符:键盘-1个字符1个字节;汉字-1个字符2个字节(万国码-1个字符3个字节)。
汉字:多个字节表示
-gbk 2个字节;
-utf 3个字节.
例如:
123:表示3个字符,3个字节,24位
我是:gbk模式表示2个字符,4个字节,32位
show character set;
#字节详细说明
2. int(n)的分析解释
int(n): 并不表示能够 存储的最大长度
show databases;
create database test;
show create database test;
use test;
create table int_test(num int);
desc int_test;
insert into int_test values(12345678901);
select * from int_test;
#超出范围
alter table int_test modify num int unsigned;
insert into int_test values(12345678901);
select * from int_test;
#超出范围
insert into int_test values(4294967295);
select * from int_test;
#输出4294967295
#设置int的长度n
alter table int_test modify num int