表结构修改
添加字段
-- 添加字段并设置默认值
ALTER TABLE test ADD c1 INT(4) not null;
修建字段
-- 修改字段设置非空
alter table test modify label varchar (20) not null;
-- 设置字段默认值
alter table test alter column type set default 1;
-- 修改字段类型
alter table test modify column name varbinary(130);
设置区分大小写
mysql 默认是不区分大小写的。数据插入后,进行查询时,大小写不敏感。
CREATE TABLE `t_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
这种情况下如果想精确匹配到name="a"的记录时。可以通过查询时添加 binary 。
select * from t_test where binary name = "a"
但是如果此时想为name添加唯一索引,由于大小写不敏感会导致逐渐冲突,从而导致添加索引失败。
此时可以通过设置name字段类型为binary来解决这个问题。
alter table test modify name varchar(50) binary;