mysql添加列
alter table to_o2o_point_record add COLUMN channel
VARCHAR(64) NULL DEFAULT NULL COMMENT ‘积分渠道’;
alter table to_o2o_point_record add COLUMN channel
VARCHAR(64) NULL DEFAULT NULL COMMENT ‘积分渠道’;
ALTER TABLE wx_menu DROP COLUMN name;
mysql键和索引
* 主键
* 创建:建表时创建 PRIMARY KEY (id
),
* 意义:如果一个字段是primary key,它的作用是索引加速,而且必须满足 唯一 not null
* 唯一索引
* 创建:方式很多
建表时创建 UNIQUE(name
),UNIQUE KEY name
(name
),
建表后创建: alter table add UNIQUE(name)
ALTER TABLE user_unique_key_new ADD CONSTRAINT myUniqueConstraint UNIQUE (name);
* 意义: 如果一个字段是unique key,它的作用是索引加速,而且必须满足 唯一 ,这个字段如果有not null约束,则它的效果和primary key的效果一样,除了primary只能有一个,not null unique key可以有多个。如果这个字段没有not null约束的话,它将可以插入null,而且可以插入多个null。
索引:
- 创建:alter table user add index name2 (
name
)
CREATE INDEX name3 ON user (name); - 意义: 如果一个字段是key,它的作用是索引加速,可以不唯一,如果这个字段有not null约束,它将不能插入null值,但是可以插入重复的值,如果没有not null约束,它可以插入null值
- 创建:alter table user add index name2 (
后话:在数据库理论中,键主要用于设计数据库时,定义表的逻辑层面的约束,一般在创建表的时候,就会将键创建好,比如主键,外键,唯一键(unique key);索引通常是在表创建之后,根据表的增删改查相关的业务场景创建索引,来加速查询。通过show create table语句可以看出,MySQL将unique、unique index、index等创建的索引都会转换成就unique key或者key,并没有区分的那么清楚。
alter table tablename drop index emp_name;