Mysql《MySQL必知必会》学习总结
4089 ワード
Mysql《MySQL必知必会》
一、データの検索(第四章)
1.1行のフィールドのすべての値を比較し、効率に影響を与えるDistinctメソッドを使用しないでください.
2.サブクエリの使用を慎む: 2.1 whereの後にクエリー を追加 2.2 whereの前に何件のデータがあるか、 のクエリーを何回追加します.
二、共同照会(第十六章)
1.Mysql複雑な文の実行順序 Fromの後のテーブル を先にロードする次に、内部接続サブステートメント(接続なしでWhereを実行するサブステートメント) を実行する.実行パケット クエリーselectの後の各対応するフィールド(フィルタ) 三、全文検索(第十八章)
1.全文検索の使用方法まずテーブルを作成する際にFULLTEXTで全文検索が可能なフィールドを指定する必要がある . whereの後にMatch(フィールド名)Against(検索内容) を使用する.拡張クエリー:
四、データの挿入
データ挿入 INSERT LOWを使用PRIORITY INTO(同様にupdate、deleteを適用可能)は、通常insert操作が遅く、この構文を使用するとinsertの優先度を下げることができ、後の文 を先に実行するデータを挿入し、できるだけ単一のInsertを使用し、複数のデータを挿入し、性能 を最適化することができる. INSERT SELECT--insert文の後にSelectに従って検索したデータを直接挿入することができますが、フィールドの位置は必ず一致を保証しなければなりません.フィールド名は ではありません. ** select last_insert_id()は、最後の挿入値 を取得することができる.
五、データの更新、削除
1.更新通常複数のデータの更新エラーが発生すると、ロールバック操作が行われ、updateの後にignoreが追加されると、 はロールバックされません.
2.削除すべてのデータを削除する場合、truncate tableを使用すると、 より高速(元のテーブルを削除してから作成)になります.
六、ビュー
1.使用作成:create viewビュー名asクエリー文 に続く修正:ビューにはデータが格納されず、呼び出すたびにview内のクエリーが呼び出され、一般的には は変更されません.削除:drop viewビュー名 七、ストレージプロセス
1.使用作成: コール--CALLプロシージャ名() 削除——DROP PROMCEDUREプロセス名 クエリー--show create procedure ordertotal;
八、カーソル
1.概要
カーソルは、動的にデータを処理するために使用され、1行前または1行後に移動します(MYSQLのカーソルは、ストレージ・プロシージャに依存する必要があります).
2.使用
九、トリガ
1.使用
2.注意事項フロントフリップフロップがエラーを報告すると、sqlとバック を実行できません. SQLエラーメッセージ、後置 を実行できませんテーブルには最大6つのトリガ しか設定できません.
一、データの検索(第四章)
1.1行のフィールドのすべての値を比較し、効率に影響を与えるDistinctメソッドを使用しないでください.
2.サブクエリの使用を慎む:
二、共同照会(第十六章)
1.Mysql複雑な文の実行順序
select customers.cust_name,
customers.cust_id,
COUNT(orders.order_num) AS num_ord
from customers INNER JOIN orders ON
customers.cust_id = orders.cust_id
GROUP BY customers.cust_id
1.全文検索の使用方法
:
SELECT note_text
FROM produce_notes
WHERE Match(note_text) Against('rabbit')
1. Against WITH QUERY EXPANSION,
( rabbit , rabbit , )
SELECT note_text
FROM produce_notes
WHERE Match(note_text) Against('rabbit' WITH QUERY EXPANSION)
2. Against IN BOOLEAN MODE,
、 ,
SELECT note_text
FROM produce_notes
WHERE Match(note_text) Against('rabbit -rope*' IN BOOLEAN MODE)
: , rabbit, rope ,
rope
四、データの挿入
データ挿入
五、データの更新、削除
1.更新
2.削除
六、ビュー
1.使用
1.使用
Example One:
delimiter //
create procedure ()
begin
select * from tb_user;
end //
delimiter ;
: sql “;” ,
/ / ,end ,
“;” , ,
Example Two:
create procedure productpricing(
OUT pl DECIMAL(8,2), // OUT ,DECIMAL
OUT ph DECIMAL(8,2), // 、 、
OUT pa DECIMAL(8,2),
)
BEGIN
SELECT Min(prod_price)
INTO pl // INTO
FROM products;
SELECT Max(rpod_price)
INTO ph
FROM products;
SELECT Avg(prod_price)
INTO pa
FROM products;
END;
IN :
OUT:
INOUT:
DECLARE:
DECLARE total DECIMAL(8,2)
DECLARE taxrate INT DEFAULT 6;
// ,
CALL productpricing(@pricelow,
@pricehigh,
@priceaverage
)
//
select @priceaverage
八、カーソル
1.概要
カーソルは、動的にデータを処理するために使用され、1行前または1行後に移動します(MYSQLのカーソルは、ストレージ・プロシージャに依存する必要があります).
2.使用
//
CREATE PROCEDURE oricessorders()
BEGIN
DECLARE ordernumbers CURSOR FOR
SELECT order_num FROM orders;
// / ( END , )
OPEN ordernumbers;
FETCH ordernumber;
CLOSE ordernumbers;
END;
九、トリガ
1.使用
1.1
CREATE TRIGGER newproduct //
AFTER INSERT ON products // product
FOR EACH ROW SELECT 'Product added';//
1.2
DROP TRIGGER newproduct;
2.注意事項