LoginSignup
3
3

More than 5 years have passed since last update.

MySQLまとめ その4

Last updated at Posted at 2015-02-09

PROCEDURE使い方

ProcedureとはMySQLにおけるコードの一連の処理を名前をつけて関数のように使うことができるもの。

作成

Procedureを使ってテーブルの中身を表示させる。

delimiter //
CREATE PROCEDURE プロシージャ名
BEGIN
SELECT * FROM REGION;
END
//

BEGINとENDの間にコードを書きます。

Selection_007.png

呼び出し

CALL できれば結果を表示される。

CALL プロシージャ名;

Selection_002.png

先ほど作成したProcedureを呼び出してテーブルの中身を表示させることができた。

一覧表示

作成したプロシージャの一覧を表示

SHOW PROCEDURE STATUS;

Selection_006.png

確認

作成したプロシージャの詳細を表示

SHOW CREATE PROCEDURE プロシージャ名;

Selection_008.png

削除

作成したプロシージャを削除

DROP PROCEDURE プロシージャ名;

URL

ビュー(view)

ビューとはselect文などを作成する際、コードを抜き出し別のテーブルのように扱うことができるもの

ビューの作成

コード

CREATE VIEW view名 
AS 抜き出したコード;

参照テーブル

Selection_009.png
参照したテーブルをid >= 100の条件で表示させる。

viewコード

Selection_010.png
条件のid >= 100の条件に当てはまる内容を表示できた。

URL

Trigger

Triggerとは、データの変更などによってあらかじめ指定した処理を自動的に実行する機能です。

Triggerの作成

記述するにはBEGIN END文の間に使ってコードを書きます。

DELIMITER //
CREATE TRIGGER (trigger名) AFTER DELETE ON (table名) FOR EACH ROW
BEGIN
DELETE FROM (table名) ... ;
INSERT INTO (table名) ... ;
END;
//

DELIMITER ;

Triggerの削除

drop trigger (trigger名);

Triggerの一覧

show triggers;

Selection_012.png
作成したトリガの情報が作成されています。

Trigger    トリガ名
Event      トリガの種類(INSERT, UPDATE, DELETE)
Table      対象テーブル
Statement  実行するSQL文
Timing     タイミング(BEFORE, AFTER)

URL

MySQL CSVファイル入出力

CSVファイルをMySQLに接続しテーブルに値を取り込む。

入力

コード解説

LOAD DATA INFILE "(ファイル名)" 
INTO TABLE (テーブル名) 
FIELDS TERMINATED BY '(区切り文字)' 
ENCLOSED BY '"';

コード

LOAD DATA LOCAL INFILE "c:/data.csv" 
INTO TABLE data FIELDS 
TERMINATED BY ',' 
ENCLOSED BY '"';

CSVファイルの中身

80,|"sample7"
90,|"sample8"
100,|"sample9"

Selection_013.png

出力

コード解説

SELECT * FROM テーブル名 
INTO OUTFILE "ファイル名" 
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '囲み文字の指定';

コード

SELECT * FROM data
INTO OUTFILE "c:/data" 
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"';

出力結果

id item
80 "sample7"
90 "sample8"
100 "sample9"

URL

エラー時 ファイルが見つからない場合

mysql --local-infile=1 
-uUser1 
-pPasswordA 
databaseD
3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3