MySQL 添加索引、唯一约束以及修改字段

添加索引

1.添加PRIMARY KEY(主键索引) 
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
2.添加UNIQUE(唯一索引) 
mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 

3.添加INDEX(普通索引) 
mysql>ALTER TABLE `table_name` ADD INDEX idx_name ( `column` ) 
4.添加FULLTEXT(全文索引) 
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 
5.添加多列索引 
mysql>ALTER TABLE `table_name` ADD INDEX idx_name ( `column1`, `column2`, `column3` )

6.同时添加多个索引

mysql>ALTER TABLE `tradex_project_attach` ADD INDEX idx_project_id ( `project_id` ), ADD INDEX idx_create_time ( `create_time` ) 

添加唯一约束的语法格式为:

ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);

例:alter table t_cloud_cube_items_follow add CONSTRAINT uq_item_emp unique (item_id,emp_id);

alter tabl 表名 add unique(字段名);

例:alter table t_cloud_cube_items_follow add unique uq_item_emp_id(item_id,emp_id,id);

在 MySQL 中删除唯一约束的语法格式如下:

ALTER TABLE <表名> DROP INDEX <唯一约束名>;

例:ALTER TABLE t_cloud_cube_items_follow DROP INDEX uq_item_emp_id;

唯一约束和唯一索引在 MySQL 数据库里区别

  1. 概念上不同,约束是为了保证数据的完整性,索引是为了辅助查询;
  2. 创建唯一约束时,会自动的创建唯一索引;
  3. 在理论上,不一样,在实际使用时,基本没有区别。

增加字段:

 ALTER TABLE table_name ADD field_name field_type;

例:alter table t_store_brand add   `store_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '数据类型 (数据类型:0pop,1自营)'after store_code;

修改字段

不修改名称 使用modify

     alter table t_store_info modify column store_name varchar(100) NOT NULL DEFAULT '' COMMENT '店铺名称' 

修改名称 使用change  格式 是 change 要修改的名称 新名称 ...

ALTER TABLE USERS CHANGE name username varchar(20) NOT NULL COMMENT '用户名';

修改字段允许为空

alter table表名 modify字段名字段类型(长度) null;

例:alter table t_customer_groupdata_market modify `shop_id` varchar(12)   NULL;

删除字段

ALTER TABLE USERS DROP COLUMN alias;

修改表字段默认值

alter table 表名 alter column 字段名 drop default; (若本身存在默认值,则先删除)

alter table 表名 alter column 字段名 set default 默认值;(若本身不存在则可以直接设定)

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值