SQL 構文
1. SQL ステートメント
データベースに対して行うアクションのほとんどは、SQL ステートメント(SQL文)によって実行されます。
SQL ステートメントは、理解しやすいキーワードで構成されているのが特徴です。
以下の SQL ステートメントは、"Customers" という名前のテーブルからすべてのレコードを選択する例です。
1.1 実行例
Customers テーブルからすべてのレコードを選択する:
/* Customers テーブルからすべてのレコードを選択 */
SELECT * FROM Customers;このチュートリアルでは、さまざまな種類の SQL ステートメントについて詳しく解説していきます。
2. データベーステーブル
データベースには通常、1つまたは複数のテーブルが含まれています。各テーブルは名前(例:「Customers」や「Orders」)によって識別され、データを含むレコード(行)を保持しています。
本チュートリアルでは、広く知られている Northwind サンプルデータベース(MS Access や MS SQL Server に含まれているもの)を使用します。
以下は、例題で使用する Customers テーブルからの抜粋です。
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
上記のテーブルには、5 つのレコード(各顧客につき 1 つ)と 7 つのカラム(CustomerID, CustomerName, ContactName, Address, City, PostalCode, Country)が含まれています。
3. 注意点:ケースセンシティブについて
SQL のキーワードは、大文字と小文字を区別しません(Case-insensitive)。つまり、select は SELECT と同じ意味として扱われます。
本チュートリアルでは、可読性を高めるために、すべての SQL キーワードを大文字で記述します。
4. SQL ステートメント末尾のセミコロン
一部のデータベースシステムでは、各 SQL ステートメントの末尾にセミコロン(;)を付ける必要があります。
セミコロンは、1回のリクエストで複数の SQL ステートメントを実行できるシステムにおいて、個々のステートメントを区切るための標準的な方法です。
本チュートリアルでは、すべての SQL ステートメントの末尾にセミコロンを使用します。
5. 最重要 SQL コマンド一覧
以下は、実務で特によく使われる重要な SQL コマンドです。
SELECT- データベースからデータを抽出するUPDATE- データベース内のデータを更新するDELETE- データベースからデータを削除するINSERT INTO- データベースに新しいデータを挿入するCREATE DATABASE- 新しいデータベースを作成するALTER DATABASE- データベースを変更するCREATE TABLE- 新しいテーブルを作成するALTER TABLE- テーブルを変更(定義変更)するDROP TABLE- テーブルを削除するCREATE INDEX- インデックス(検索キー)を作成するDROP INDEX- インデックスを削除する