万金流
以码会友。 吾Q:578751655。 水平有限,轻喷,谢!
随笔 - 189,  文章 - 0,  评论 - 7,  阅读 - 14万

用的比较多的索引

  1. 主键(PRIMARY KEY),每张表一个,被定为索引的列,值不能重复。
  2. 唯一(UNIQUE),每张表可以有多个,被定为索引的列,值不能重复(可以有多个NULL值)。
  3. 普通(INDEX/KEY),每张表可以有多个,被定为索引的列,值可以重复。

索引的创建和删除

把索引看成表的一部分(类似于列),那么就可以在创建表的时候直接创建它;用修改表结构的方式删除或者添加它。

建表的时候创建索引:

create table t1(xh char(1),xm varchar(5),nl tinyint,primary key (xh),unique (xm),index (nl));

查看表结构:

 

 删除索引:

alter table t1 drop primary key;
alter table t1 drop index xm;
alter table t1 drop index nl;

其中,因为主键唯一,故可以不指定名称。

作为唯一索引和普通索引,反正都是要被删除的索引,故没有必要再指定类型。按名称删除即可。

以上操作后,表结构为:

 

 用修改表结构的方式添加索引:

alter table t1 add primary key (xh);
alter table t1 add unique (xm);
alter table t1 add index (nl);

查看表结构:

 

 观察索引对列值(不重复)的影响

先录入一些记录:

 

 尝试在各列插入重复值,观察结果:

 

 什么可以重复,什么不可以重复,显而易见。

同样的,一张表中,除了主索引,都可以出现多个,也可以验证。

多个唯一索引:

 

 多个普通索引:

 

 索引基本操作结束,转P76,5.1.4

 

posted on   万金流  阅读(921)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2020-11-16 java队列-营业厅
2020-11-16 队列基本操作-顺序和链式

点击右上角即可分享
微信分享提示