mysql常用sql汇总

一、索引相关
1.查看表所有索引:

SHOW INDEX FROM test_table 

2.为表中某字段添加唯一约束:
为表添加code字段唯一约束

ALTER TABLE test_table ADD UNIQUE KEY `codeName` ( `code` );

3.删除唯一约束:

ALTER TABLE test_table DROP INDEX codeName

4.为表添加联合索引
为表添加,code和age联合索引

ALTER TABLE test_table ADD UNIQUE KEY(code, age);

5.主键唯一普通索引添加如下,删除一样

//普通索引
alter table table_name add index index_name (column_list) ;
//唯一索引
alter table table_name add unique (column_list) ;
//主键索引
alter table table_name add primary key (column_list) ;

二、查询相关
1.使用having做统计查询,例句如下:
查询以code字段分组,且分组后数据大于1,且状态为1,code不为空的数据

SELECT DISTINCT code,COUNT(*) a FROMtest_table GROUP BY `code` HAVING a > 1 AND
`status` = "1" AND `code` IS NOT NULL

三、改表相关
1.往表添加字段:示例说明如下:
往tempdata表的name字段后添加age字段

ALTER TABLE tempdata ADD COLUMN age int(11) DEFAULT NULL COMMENT '年龄' AFTER name;

关于唯一约束和唯一索引的区别:
直接贴结论:
概念上不同,约束是为了保证数据的完整性,索引是为了辅助查询;
创建唯一约束时,会自动的创建唯一索引;
在理论上,不一样,在实际使用时,基本没有区别。
关于第二条,MySQL 中唯一约束是通过唯一索引实现的,为了保证没有重复值,在插入新记录时会 再检索一遍,怎样检索快,当然是建索引了,所以,在创建唯一约束的时候就创建了唯一索引。
可查看这篇文章:
谈谈唯一约束和唯一索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值