建立索引:
alter table add index ();
>alter table `table_name` add primary key (`column`); 新增primary key(主鍵索引)
>alter table `table_name` add unique (`column`);新增unique(唯一索引)
>alter table `table_name` add index index_name (`column`) 新增index(普通索引)
>alter table `table_name` add fulltext ( `column`)新增fulltext(全文索引)
>alter table `table_name` add index index_name (`column1`,`column2`,`column3`)新增多列索引
>describe tbale_name;檢視表結構資訊
>drop index index_name on table_name;drop刪除索引
>alter table table_name drop index index_name;alter drop刪除索引
>alter table table_name drop primary key;alter刪除索引
建立觸發器:
create trigger trigger_name trigger_time trigger_event on tb_name for each row trigger_stmt;
trigger_name:觸發器的名稱
tirgger_time:觸發時機,為before或者after
trigger_event:觸發事件,為insert(insert,load data,replace)、delete(delete,replace)或者update
tb_name:表示建立觸發器的表名
trigger_stmt:觸發器的程式體,可以是一條sql語句或者是用begin和end包含的多條語句
before和after引數指定了觸發執行的時間,在事件之前或是之後
for each row表示任何一條記錄上的操作滿足觸發事件都會觸發該觸發器
mysql可以建立以下六種觸發器:
before insert,before delete,before update
after insert,after delete,after update
drop trigger trigger_name;#刪除觸發器
show triggers;#查詢觸發器
建立有多個執行語句的觸發器
create trigger 觸發器名 before|after 觸發事件
on 表名 for each row
begin
執行語句列表,以; 分隔
end在begin...end語句中定義變數,但是只能在begin...end內部使用:
declare var_name var_type [default value] character set utf8; #定義變數,可指定預設值
set var_name = value;#給變數賦值
tips:mysql特殊符號;在觸發器中存在衝突,採用在觸發器前後單獨執行 delimiter ||(將結束符號定義為||)和delimiter ;(將結束符號還原為;)。
原文:
MySQL 觸發器 索引
博文目錄 觸發器索引 觸發器是mysql響應insert,update,delete語句時自動執行的一條sql語句,只有表支援觸發器,檢視不支援。觸發器需要的資訊 insert觸發器 create trigger tr insert tablea after insert on t tablea f...
mysql 索引 手冊 MySQL 索引
mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...
mysql非同步索引 MySQL索引
一 為什麼要使用索引 優化查詢,減少掃瞄的錶行數。打個比方,索引的作用就和查新華字典,字典的索引的作用的一樣的。二 索引的型別 1 索引是在儲存引擎中實現的,而不是在伺服器層中實現的。所以,每種儲存引擎的索引都不一定完全相同,並不是所有的儲存引擎都支援所有的索引型別。2 如果使用的是組合索引 即有多...