MySQLをはじめとするデータベース管理システムは、SQL文というものを使ってデータを操作します。
ここでは SQL構文の書き方や文法をまとめました。
目次
SQL文の基本的な文法(構文)
SQL文は、指定したい項目と値のセットをつなぎ合わせた以下のパターンが基本です。文の終わりには必ずセミコロン(;
)をつけます。
実際の命令文に置き換えて考えてみましょう。
SELECT name FROM menus WHERE category = '和食';
これは以下のように読み取ることができます。
SELECT name
: 「name」カラムの値を表示するFROM menus
: 「menus」テーブルからデータを取得するWHERE category = '和食'
: 「category」カラムが「和食」のレコードを検索する
上の3つを合わせると、「menus」テーブルから「category」カラムが「和食」のレコードを検索し、そのレコードの「name」カラムの値を表示する、という命令文となります。
今回はテーブルから値を取得するSQL文を例にあげましたが、ほかにもテーブルにレコードを追加したり、編集したり、削除したりといったさまざまなバリエーションがあります。
つまり それらのバリエーションと、「FROM」や「WHERE」などの各パーツの意味を覚えれば、SQL文をマスターすることができます。
よく使うSQL文の一覧
イメージを掴むために、よく使うSQL文の種類を紹介していきます。
それぞれの具体的なSQL文の使い方はまた次回以降の記事で紹介していくので、ここでは文法に慣れていけるよう基本的なものを抜粋してまとめました。
INSERT INTO(テーブルにレコードを追加)
例文
INSERT INTO menus(name, category) VALUES('ハンバーグ', '洋食');
読み方
INSERT INTO menus(name, category)
: 「menus」テーブルの「name」カラムと「category」カラムを指定VALUES('ハンバーグ', '洋食')
: 前に指定した name カラムに「ハンバーグ」、category カラムに「洋食」を入れる
上の2つを合わせると、「menus」テーブルの「name」カラムに「ハンバーグ」、「category」カラムに「洋食」をセットしたレコードを追加する、という命令文となります。
SELECT(レコードを取得)
例文
SELECT name FROM menus WHERE category = '和食';
読み方
SELECT name
: 「name」カラムの値を表示するFROM menus
: 「menus」テーブルを選択WHERE category = '和食'
: 「category」カラムが「和食」のレコードを検索する
上の3つを合わせると、「menus」テーブルから「category」カラムが「和食」のレコードを検索し、そのレコードの「name」カラムの値を表示する、という命令文となります。
UPDATE(レコードを更新)
例文
UPDATE menus SET name = 'カレー' WHERE id = 1;
読み方
UPDATE menus
: 「menus」テーブルを選択SET name = 'カレー'
: 「name」カラムに「カレー」にするWHERE id = 1
: 「id」カラムが「1」のレコードを検索
上の3つを合わせると、「menus」テーブルから「id」カラムが「1」のレコードを検索し、そのレコードの「name」カラムを「カレー」に更新する、という命令文となります。
DELETE(レコードを削除)
例文
DELETE FROM menus WHERE id = 1;
読み方
DELETE FROM menus
: 「menus」テーブルを選択WHERE id = 1
: 「id」カラムが「1」のレコードを検索
上の2つを合わせると、「menus」テーブルから「id」カラムが「1」のレコードを検索し、そのレコードを削除する、という命令文となります。
まとめ
以上、SQL構文の書き方や文法でした!
ここまでの内容をまとめておきます。
- SQL文は、指定したい項目と値のセットをつなぎ合わせたパターンが基本
- SQL文の終わりにはセミコロン(
;
)をつける - SQLの文法をマスターするなら「SELECT」や「INSERT INTO」文などのバリエーションと、「FROM」や「WHERE」などの各パーツの意味を覚えていこう