sql索引的建立 修改 刪除 檢視

2021-08-21 02:52:29 字數 1845 閱讀 4428

explain select * form `table_name`

where id=10

explain列的解釋:

table:顯示這一行的資料是關於哪張表的

type:這是重要的列,顯示連線使用了何種型別。從最好到最差的連線型別為const、eq_reg、ref、range、indexhe和all

key: 實際使用的索引。如果為null,則沒有使用索引。很少的情況下,mysql會選擇優化不足的索引。這種情況下,可以在select語句中使用use index(indexname)來強制使用乙個索引或者用ignore index(indexname)來強制mysql忽略索引

key_len:使用的索引的長度。在不損失精確性的情況下,長度越短越好

ref:顯示索引的哪一列被使用了,如果可能的話,是乙個常數

rows:mysql認為必須檢查的用來返回請求資料的行數

extra:關於mysql如何解析查詢的額外資訊。將在表4.3中討論,但這裡可以看到的壞的例子是using temporary和using filesort,意思mysql根本不能使用索引,結果是檢索會很慢

索引表名:table_name

索引名稱:index_name

1.primary  key(主鍵索引)

mysql>alter table `table_name` add primary key ( `column` )

2.unique(唯一索引)

mysql>alter table `table_name` add unique (`column` )

3.index(普通索引)

mysql>alter table `table_name` add index index_name ( `column` )

4.fulltext(全文索引)

mysql>alter table `table_name` add fulltext ( `column` )

5.多列索引

mysql>alter table `table_name` add index index_name ( `column1`,

`column2`,

`column3` )

1.unique(唯一索引)

mysql>create unique index index_name on `table_name` (`column` )

2.index(普通索引)

mysql>create index index_name on `table_name` ( `column` )

3.多列索引

mysql>create index index_name on `table_name` ( `column1`,

`column2`,

`column3` )

1.primary  key(主鍵索引)

mysql>alter table `table_name` drop primary key

3.index(普通索引)或unique(唯一索引)

mysql>alter table `table_name` drop index index_name

mysql>drop index index_name on `talbe_name`

mysql> show index

from table_name;

mysql> show keys from table_name;

Mysql索引,建立,修改,刪除索引

建立普通索引 create table t12 id int,name varchar 10 index name show create table t12 建立唯一性索引 create table t13 id int,name varchar 20 unique index idinx id ...

SQL建立 修改 刪除表

建立表 create table 表名 列名 資料型別 屬性 列名 資料型別 屬性 增加表的列 alter table 表名 add 欄位名 資料型別 屬性 修改表的列 alter table 表名 modify column 欄位名 資料型別 屬性 刪除表的列 alter table 表名 dro...

建立 修改 刪除表

1 建立表 1.1 完整約束條件表 約束條件 說明primary key 表示該屬性為表的主鍵,可以唯一的表示對應的元組 foreign key 標示該屬性為表的外來鍵,是與之聯絡的某錶的主鍵 not null 標示該屬性不能為空 unique 標示該屬性的值是唯一的 auto increment ...