(三)MySQL終極篇

2022-05-26 04:24:09 字數 2986 閱讀 3536

詳細介紹:

索引是對資料庫表中乙個或多個列的值進行排序的結構。索引是經過某種演算法優化過的,因而查詢次數相對較少。

mysql的索引分為單列索引(主鍵索引,唯一索引,普通索引)和組合索引.

單列索引:乙個索引只包含乙個列,乙個表可以有多個單列索引.

組合索引:乙個組合索引包含兩個或兩個以上的列,

a.普通索引

1

create

table

person(

2 pid int

notnull auto_increment primary

key,

3 pname varchar(20) not

null

,4 page int,5

--建立表時建立索引

6index

index_pname(pname)7)

89--單獨建立索引

10--

create index 索引名稱 on 表名(列名)

11create

index index_page on

person(page);

1213

--刪除索引

14--

drop index 索引名稱 on 表名;

15drop

index index_page on

person;

1617

--檢視索引

18--

show index from 表名;

19 show index

from

person;

2021

--對於建立索引時如果是blob 和 text 型別,必須指定length

b.唯一索引

唯一性索引和普通索引最大的差異就是在索引列上增加了一層唯一約束。新增唯一性索引的資料列可以為空,但是只要存在資料值,就必須是唯一的。

1

create

table

person(

2 pid int

notnull auto_increment primary

key,

3 pname varchar(20) not

null

,4 page int,5

--建立表時建立唯一索引

6unique

index_pname(pname)7)

89--單獨建立索引

10--

create index 索引名稱 on 表名(列名)

11create

unique

index index_page on

person(page);

1213

--刪除索引

14--

drop index 索引名稱 on 表名;

15drop

index index_page on

person;

1617

--檢視索引

18--

show index from 表名;

19 show index

from

person;

2021

--對於建立索引時如果是blob 和 text 型別,必須指定length

c.主鍵索引

在資料庫關係圖中為表定義乙個主鍵將自動建立主鍵索引,主鍵索引是唯一索引的特殊型別。主鍵索引要求主鍵中的每個值是唯一的。當在查詢中使用主鍵索引時,它還允許快速訪問資料。資料不能為空。

create

table

person(

pid

intnot

null auto_increment primary

key,

pname

varchar(20) not

null

, page

int)

create

table

person(

pid

intnot

null

auto_increment,

pname

varchar(20) not

null

, page

int,

primary

key(pid)

)

create

table

person(

pid

intnot

null

, pname

varchar(20) not

null

, page

int)

--新增主鍵索引

alter

table person add

primary

key(pid);

--刪除主鍵

alter

table person drop

primary

key;

alter

table person modify pid int,drop

primary

key;

d.組合索引

——兩列或者多列組合成乙個索引進行查詢,頻繁的同時使用n列來進行查詢

create

index ix_pid_pname on person(pid,pname);

select

*from 表 limit 5; -

前5行

select

*from 表 limit 4,5; -

從第4行開始的5行

select

*from 表 limit 5 offset 4

- 從第4行開始的5行

define用法(終極盤點篇)

define是c語言中提供的巨集定義命令,其主要目的是為程式設計師在程式設計時提供一定的方便,並能在一定程度上提高程式的執行效率,但學生在學習時往往不能 理解該命令的本質,總是在此處產生一些困惑,在程式設計時誤用該命令,使得程式的執行與預期的目的不一致,或者在讀別人寫的程式時,把執行結果理解錯誤,這...

MySQL索引篇(三)

資料結構示例 btree是為了磁碟或其他儲存裝置設計的一種多叉平衡查詢樹。btree和b tree的區別 主鍵索引 這裡假設乙個表一共有三列,以col1為主鍵,上圖是乙個myisam表的主鍵索引示意圖 可以看出myisam的索引檔案僅僅儲存資料記錄位址。輔助索引 次要索引 在myisam中主鍵索引和...

svn cleanup失敗解決方法 終極篇

svn現狀 svn root third 引用svn目錄 更新 third 目錄失敗,cleanup異常終止,提示資訊 svn cleanup failed previous operation has not finished run cleanup if it was interrupted 一...