<?php
/**
拿起就用篇 数据库 索引
*/
// 创建索引
alter table tableName add indexType [indexName](fieldName[,fieldName])
// 该语句需要指定
// tableName 为该表添加索引
// indexType 添加的索引类型
// 支持类型
// index 普通索引
// unique 唯一索引
// primary key 主键索引
// fulltext 全文索引(看这个索引名字你要知道,它只能用于 text 类型的字段)
// 可选 indexName 索引名称
// fieldName 依据指定的字段作为索引
// 举个例子:
// 创建普通索引
// alter table tableName add index (name)
// 忽略索引名,为字段 name 创建一个普通索引
// 创建唯一索引
// alter table tableName add unique unique_name (name)
// 为字段 name 创建一个索引名为 unique_name 的唯一索引
// 下面就多提了,自己再进行修改。
// 关联索引创建
// 其实关联索引没那么复杂,主要是用到创建索引,可选多字段的使用。
// 创建个 name 和 code 字段两个值具有唯一性的索引
alter table tableName add unique unique_name_code (name,code)
// 这样创建的索引,当 name 或者 code 字段的值只有一个是相同时,则是可以继续添加数据的。
// 但,如果 name 和 code 两个字段的值都一模一样的时候,将无法被继续添加数据
// 查看当前表的索引
// show keys from tableName
// show index from tableName
// 以上都可以返回对应表的所有索引,可查看索引的位置关系(查询的时候,索引的使用顺序正确才会被调用索引,详细看 后续发的索引笔记)
// 删除索引
drop index indexName on tableName
// 将根据对应的索引名字删除对应的索引,如果不知道索引名字可以通过上面的查看索引找到索引名字,或者没有设置索引名字可以用对应的字段名字(有风险)
// alter table tableName drop indexType indexName
// 一般上面的够用的了,这个根据索引类型以及索引名称删除
// 如果是主键的情况下使用 alter table tableName drop primary key
// 需要注意,如果没有主键,将删除最左的唯一索引,也是 显示所有索引时最前面的那个。
// 如果要看详细,需要看后续发的索引笔记。