MySQL:MySQLの基本的な構文の書き方

MySQLSQL文を直接書くときがあります。
データベースで直接操作したり、phpなどのシステム内でもSQL文を直接記述し、データを取得する場合があります。

いつも忘れてしますので、MySQL基本的構文の書き方をメモします。


MySQL 構文

SELECT

指定したテーブルのデータを検索、取得します。
*(アスタリスク)で指定した場合、全てのフィールドのデータを取得します。

・全てのフィールドの値を取得する場合

SELECT * FROM テーブル WHERE 条件式 AND 条件式;

・取得するフィールドを指定する場合

SELECT フィールド1, フィールド2, フィールド3 FROM テーブル WHERE 条件式 AND 条件式;

INSERT

指定したテーブルにデータを追加します。

INSERT INTO テーブル (フィールド1, フィールド2, フィールド3) VALUES (フィールド1の値, フィールド2の値, フィールド3の値);

UPDATE

条件式で一致したデータを更新します。

UPDATE テーブル SET フィールド = 値, フィールド = 値 WHERE 条件式 AND 条件式;

DELETE

条件式で一致したデータを削除します。

DELETE FROM テーブル WHERE 条件式 AND 条件式;

FuelPHP:fuelphpでSQLを実行した際のSQL文を確認する

fuelphpSQLを実行した際に、どのようなSQL文が書き出されているか確認したい場合があります。
DBクラスのlast_query()メソッドを使用するとSQLクエリをデバックすることができます。


last_query()メソッド

last_query()メソッドは、最後に実行したSQLクエリを返します。

DB::last_query();

last_query()メソッド使用方法

最後に実行したSQLクエリを返すので、SQL実行した直後にlast_query()メソッドを記載します。

// SQLを実行
$query = DB::select()->from('user');
$query->where('id', 1);
$res = $query->execute()->as_array();

// 実行したSQLクエリを取得
var_dump(DB::last_query());

実行したSQLクエリは下記のように出力されます。

string(35) "SELECT * FROM `user` WHERE `id` = 1"

複雑なSQLを実行した際などにSQL文を確認できるので便利です。