扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、mysql中修改字段长度:
创新互联建站主营莱山网站建设的网络公司,主营网站建设方案,App定制开发,莱山h5小程序制作搭建,莱山网站营销推广欢迎莱山等地区企业咨询
ALTER TABLE tb_article MODIFY COLUMN NAME VARCHAR(50);
这里的tb_article为表名,NAME为字段名,50为修改后的长度
2、mysql修改字段类型:
ALTER TABLE tb_article MODIFY COLUMN NAME CHAR(50);
修改后,name字段类型由varchar变为char
3、mysql中增加列:
ALTER TABLE tb_article ADD COLUMN name1 VARCHAR(30);
4、mysql中修改列 :
ALTER TABLE tb_article CHANGE name1 name2 VARCHAR(30);
5、mysql中删除列 :
ALTER TABLE tb_article DROP COLUMN name2;
1,长度的区别,char范围是0~255,varchar最长是64k,如果遇到了大文本,考虑使用text,最大能到4G。
2,效率来说基本是charvarchartext。
3,char和varchar可以有默认值,text不能指定默认值。
直接写alter table语句修改字段类型及长度,或者在数据库连接客户端右键修改表来设置字段长度。
mysql varchar(50) 不管中文 还是英文 都是存50个的
MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串。M 表示最大列长度。M的范围是0到65,535。(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节)。
为何会这般变换?真是感觉MySQL的手册做的太不友好了,因为你要仔细的继续往下读才会发现这段描述:MySQL 5.1遵从标准SQL规范,并且不删除VARCHAR值的尾部空格。VARCHAR保存时用一个字节或两个字节长的前缀+数据。如果VARCHAR列声明的长度大于255,长度前缀是两个字节。
好了,貌似懂了一点。但具体他说的长度大于255时使用2个字节长度前缀,小学减法题:65535 - 2 = 65533啊。不知道这些大牛如何计算的,暂且保留疑问吧?
注:我测试了一下使用UTF8编码,varchar的最大长度为21854字节。
在mysql 5.0.45版本,数据库编码utf8下进行测试:varchar最长定义为21785。也就是说不论字母、数字、汉字,只能放21785个。
推想:varchar字节最大65535,utf8编码一个字符3个字节65535/3=21785。
可以设置的.
MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Length)、MEDIUMINT(Length)、INT(Length)、BIGINT(Length)、FLOAT(Length, Decimals)、DOUBLE(Length, Decimals)和DECIMAL(Length, Decimals)。
然而,这些数据类型的长度,并不是都指数据的大小。具体说就是:
(1)CHAR、VARCAHR的长度是指字符的长度,例如CHAR[3]则只能放字符串"123",如果插入数据"1234",则从高位截取,变为"123"。 VARCAHR同理。
(2)TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT的长度,其实和数据的大小无关!Length指的是显示宽度,举个例子:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流