mysql 系列筆記是筆者學習、實踐mysql資料庫的筆記
mysql 資料庫基礎入門教程
mysql 官方文件
sql 教程
建立和呼叫:
# 建立儲存過程
create procedure 名稱()
delimiter 自定義分隔符
create procedure 名稱()
begin
語句1;
語句2;
...end 自定義分隔符
delimiter ;
# 呼叫儲過程
call 名稱();
刪除儲存過程:
drop procedure 名稱
檢視儲存過程:
# 檢視所有儲存過程
show procedure status;
# 檢視指定資料庫中的儲存過程
show procedure status where db = 'my_test4';
# 檢視指定儲存過程源**
show create procedure 儲存過程名
儲存過程變數:
# 宣告變數
declare 變數名 資料型別(大小) default 預設值;
declare 變數名1,變數名2 資料型別(大小) default 預設值;
# 分配變數值
set 變數名 = 值;
select count(*) into 變數名 from 表名
儲存過程引數:in,out,inout
# in:表示呼叫者向過程傳入值(傳入值可以是字面量或變數)
# out:表示過程向呼叫者傳出值
# inout:inout引數是in和out引數的組合。
create procedure 名稱([in | out | inout ] 引數名 資料型別)
儲存過程語句:
# if語句
if expression then
statements;
else
else-statements;
end if;
# case語句
case case_expression
when when_expression_1 then commands
when when_expression_2 then commands
...else commands
end case;
# while迴圈
while expression do
statements
end while
# repeat迴圈
repeat
statements;
until expression
end repeat
索引的分類:類別
說明單值索引
即乙個索引只包含單個列,乙個表可以有多個單列索引。
唯一索引
索引列的值必須唯一,但允許有空值
復合索引
乙個索引包含多個列,index multiidx(id,name,age)
全文索引
只有在myisam引擎上才能使用,只能在char,varchar,text型別欄位上使用全文索引
索引命令:功能
命令建立索引
create index 索引名稱 on 表名 (column[, column]…);
刪除索引
drop index 索引名稱 on 表名
檢視索引
show index from 表名;
索引屬性:屬性
說明table
表名non_unique
如果索引不能包括重複詞,則為0。如果可以,則為1
key_name
索引的名稱
seq_in_index
索引中的列序列號,從1開始
column_name
列名稱collation
索引的儲存方式,有值『a』(公升序)或null(無分類)。
cardinality
索引中唯一值的數目的估計值
sub_part
列被部分被編入索引的字元數目,如果整列被編入索引,則為null
packed
指示關鍵字如何被壓縮。如果沒有被壓縮,則為null
null
如果列含有null,則含有yes。如果沒有,則no
index_type
用過的索引方法(btree, fulltext, hash, rtree)。
comment
索引備註資訊
自動建立索引:
# 格式
explain select語句
資訊
說明id
select的查詢序列號:一條語句中該select是第幾次出現,在次語句中select就只有乙個id=1
select_type
select查詢型別,******表示簡單的select,即不使用union或子查詢
table
資料表的名字,他們按被讀取的先後順序排列
type
指定本資料表和其他資料表之間的關聯關係
key實際選用的索引
possible_keys
mysql搜尋資料記錄時可以選用的索引
key_len
使用的索引個數
ref給出關聯關係中另乙個資料表中資料列的名字
rows
mysql在執行這個查詢時預計會從這個資料表裡讀出的資料行的個數
extra
提供了與關聯操作有關的資訊,沒有則什麼都不寫
需要索引的情況:
不需要索引的情況:
good luck!
Mysql索引概念和儲存過程
1.二叉樹索引,時間複雜度o lgn 2.雜湊表,時間複雜度o 1 1.不過度索引 2.索引條件列 where後面最頻繁的條件比較適宜索引 3.索引雜湊值,過於集中的值不要索引。例如 給 男 女 索引,意義不大。降低了增刪改的速度 update delete insert 增大了表的檔案大小 索引檔...
mysql的索引和儲存過程
2 儲存過程 好處,加快了查詢速度 壞處,降低了增刪改的速度,增大了表的檔案大小 索引檔案可能比資料檔案還要大 操作大量資料時最好 先去掉索引,再匯入,最後統一加索引 案例 設有新聞表15列,10列上有索引,共500w行資料,如何快速匯入?把空表的索引全部刪除 匯入資料 資料匯入完畢後,集中建索引 ...
mysql 儲存過程筆記 mysql儲存過程筆記
儲存過程是一組完成特定功能的sql語句集合,已經被編譯好,可以直接拿來被執行,可以傳參 引數有三種型別,in out inout in型別的引數,可以在儲存過程的方法體裡面被呼叫,但是無法影響外部 out型別的引數,無法被內部呼叫,儲存過程出來的結果可以影響外部 inout型別的引數,可以被接收呼叫...