【檢視 一張表上的索引】
show index from 表名;
show index from 表名 \g; //可以橫著顯示
【一、】新增索引
第一種方法:
【主鍵索引】:
create table tab2(
id int,
primary key(id)
);【唯一索引】(索引名可選,不寫索引名,預設為這一列的列名):
create table tab3(
name char(10),
unique [索引名] (name)
);【常規索引,也叫普通索引】(索引名可選,不寫索引名,預設為這一列的列名):
create table tab4(
name char(10),
index(key) [索引名] (name)
);【全文索引】(myisam 表型別使用, 只有在varchar char text文字字串上使用)(索引名可選,不寫索引名,預設為這一列的列名):
create table tab5(
name char(10),
fulltext [索引名] (name)
);【二、】新增索引
第二種方法:
【主鍵索引】:
alter table 表名 add primary key;
【唯一索引】(索引名可選,不寫索引名,預設為這一列的列名):
alter table 表名 add unique [索引名] (欄位名);
【常規索引,也叫普通索引】(索引名可選,不寫索引名,預設為這一列的列名):
alter table 表名 add index [索引名] (欄位名);
alter table 表名 add key [索引名] (欄位名);
【全文索引】(索引名可選,不寫索引名,預設為這一列的列名):
alter table 表名 add fulltext [索引名] (欄位名);
【全文索引應用】:
select 列名, match (索引) against (『 索引詞』) from 表名;
select * from
表名 where match (索引) against (『 索引詞』);
【舉例】:
create table books(
id int,
bookname varchar(10),
price double,
detail text not null,
fulltext(detail,bookname),
index ind(price),
primary key(id)
);select * from books where bookname like '%php%';
select bookname,price from books where match(detail) against('php');
select match(detail) against('php') from books;
【三、】刪除索引
【刪除主鍵索引】(注意:如果主鍵有自增長,得先刪除自增長):
alter table 表名 change id id int; //刪除自增長
alter table 表名 drop primary key;
【第一種方法(刪除唯
一、常規(普通)、全文索引)】:
drop index 索引名 on 表名;
【第二種方法(刪除唯
一、常規(普通)、全文索引)】:
alter table 表名 drop index 索引名;
【四、】新增屬性:
【無符號:unsigned】:正數,可以讓空間增加一倍 只能用在數值型字段
【前導0:zerofill】:只能用在數值型字段
【不為空:not null】
【預設值:default】
【自動增長:auto_increment】
【舉例】:
create table tab8(
id int unsigned zerofill not null auto_increment primary key
);create table tab9(
name varchar(10) not null default ''
); 【五、】注意事項:
【新增屬性自動增長,必須先設定為主鍵】
alter table 表名 add primary key;
alter table 表名 change id id int unsigned zerofill not null auto_increment;
【刪除主鍵索引】(注意:如果主鍵有自增長,得先刪除自增長):
alter table 表名 change id id int; //刪除自增長
alter table 表名 drop primary key;
【常規索引,也叫普通索引】單獨使用:
create index 索引名 on 表名 (欄位名);
【只有主鍵索引,唯一索引,可以直接在後面新增。】(注意:直接新增唯一索引時,其後不能加索引名。另外常規索引(index or key),全文索引(fulltext)不能直接在其後新增!):
create table tab1(
id int primary key,
name char(10) unique
);希望可以幫到你們!!!
MySQL索引介紹
索引由資料庫表中一列或者多列組合而成,其作用是提高對錶中資料的查詢速度。建立索引是指在某個表的一列或者多列上建立乙個索引,用來提高對錶的訪問速度,建立索引由三種方法 在建立表的時候建立,在已存在的表上建立和用alter table語句建立。建立索引的基本語法格式 asc引數表示公升序排列,desc引...
MySQL索引介紹
簡單理解為 排好序的快速查詢資料結構 一般來說索引本身也很大,不可能全部儲存在記憶體中,因此索引往往以索引檔案的形式儲存在磁碟上。我們平常所說的索引,如果沒有特別指明,一般都是指b樹結構組織的索引 b 樹索引 b 樹索引檢索原理 1 類似圖書館書目索引,提高資料檢索的效率,降低資料庫的io成本。2 ...
Mysql索引介紹
索引是在建立表的時候會自動生成乙個主鍵 以主鍵生成的 索引,所以我們可以直接搜尋索引 我們也可以建立 普通索引 create index t job index on e user t job 建立索引名 被建立的表 建立的列名 格式 所以索引可以多個.刪除普通索引 drop index t job...