2020-12-07 09:19阅读: 1414评论: 0推荐: 0

SQL创建索引、主键

 

-- MySQL中四种方式给字段添加索引

1)
# 添加主键
# ALTER TABLE tbl_name ADD PRIMARY KEY (col_list);
# -- // 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。

# 添加唯一索引  -- UNIQUE 后面不用跟INDEX
# ALTER TABLE tbl_name ADD UNIQUE index_name (col_list); 
# // 这条语句创建索引的值必须是唯一的。

# 添加普通索引
# ALTER TABLE tbl_name ADD INDEX index_name (col_list);
# // 添加普通索引,索引值可出现多次。

# 添加全文索引
# ALTER TABLE tbl_name ADD FULLTEXT index_name (col_list);
# // 该语句指定了索引为 FULLTEXT ,用于全文索引。

 

-- PS: 附赠删除索引的语法:

DROP INDEX index_name ON tbl_name;
-- // 或者
ALTER TABLE tbl_name DROP INDEX index_name;
ALTER TABLE tbl_name DROP PRIMARY KEY;

 

 

2)

CREATE INDEX index_name ON table_name (column_name);

CREATE UNIQUE INDEX index_name ON table_name (column_name);

 

 

索引查询

sqlite使用索引查询的语法为

1
2
3
4
SELECT|DELETE|UPDATE column1, column2...
INDEXED BY (index_name)
table_name
WHERE (CONDITION);

示例:SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005

mysql 使用强制索引 force select * from salaries force index(idx_emp_no) where emp_no = 10005;

 

 强制索引

SQLite中,使用 INDEXED BY 语句进行强制索引查询,可参考:http://www.runoob.com/sqlite/sqlite-indexed-by.html
 
示例:
1
SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005
 
MySQL中,使用 FORCE INDEX ()语句进行强制索引查询,可参考:http://www.jb51.net/article/49807.htm

 示例:
1
SELECT * FROM salaries FORCE INDEX (idx_emp_no) WHERE emp_no = 10005

本文作者:云谷の风

本文链接:https://www.cnblogs.com/zeon/p/14095631.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   云谷の风  阅读(1414)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开