mysql的版本以及字段中所占长度以及字符的关系

来源:互联网 发布:深圳奥凯软件 编辑:程序博客网 时间:2024/06/06 17:50

由于现在使用的Mysql的版本都是5.0以上的版本,所以我就介绍5.0以上的版本

1.varchar(n),这个是指能存放的字符的长度,就是不管你输入的是英文,还是汉字(utf8,gbk),这个时候,你只能往里面填入n个字符,只不过的是,例如varchar(20),你最多能填入20个字符,如果你填入的20个英文单词的时候,你此时占的字节长度是20,而20个utf8的汉字所占的字节则是60个字节,虽然你们都只能填写20个字符,而char(20)与varchar(20)的不同的点是,如果你存入的2个英文单词,varchar的字段只是占2个字节,而char的这个字段则是要占个20字节,然而在mysql5.0以上的版本中,row的一行是最大字节是65532(排除头和尾占用的字节),是这一行所有列相加的结果。

2.一个varchar存汉字需要使用三个字段在utf8和utf8mb4编码表的情况下。

3.在utf8和utf8mb4中varchar(n),这个n是字符,所见即所得,一个a是一个字符,一个?也是一个字符,不过就是a这个字符是1个字节,哈这个字符是3个字节,而?这个字符是4个字节表示罢了。


mysql修改表,字段,库的字符集

1.修改数据库字符集

alter database db_name default character set character_name

例子:alter database my_database  default character set utf8


2.把表默认的字符集和所有字符列改为新的字符ji

alter table tb_name convert to character set character_name

例子:alter table test convert to character set utf8


3.只是修改表的默认字符集:

alter table tb_name default character set character_name

例子:alter table test default character set utf8


4.修改字段的字段集

alter table tb_name change c_name c_name character set character_name(其中c_name位列名,这个列名就是重复的c_name,就是要写两遍)

alter table test change name name varchar(20) character set utf8.(修改test表里面的name字段的存储格式是utf8)


5.查看数据库编码

show create database db_name


6.查看表编码

show create table tb_name


7.查看字段编码:

show full columns from tb_name

阅读全文
0 0
原创粉丝点击