リレーショナルデータベースにおいてデータの操作や定義を行うためのデータベース言語、SQLについて解説します。SQLはプログラミングにおいて、データベースへのアクセスのためにプログラミング言語と合わせて使用されます。
SQLとは
SQLはリレーショナルデータベースの操作や定義を行うための言語です。
いわゆるコンピュータ言語の1つですが、プログラミング言語ではありません。データベースとのやりとりにのみ使われるため「データベース言語」や「ドメイン固有言語」に区分されます。
SQLという名前は「Structured Query Language」の略で、直訳すると「構造化問い合わせ言語」。つまりデータベースに対しクエリ(問い合わせ)を送るための言語です。
一般に、データベースを操作する時はデータを直接書き換えたりするのではなく、MySQLのようなリレーショナルデータベースシステムに対し、このSQLでどのような操作を行うのか指示を出して操作します。
SQLは1986年まで統一標準規格が存在しない状況であったという経緯から、各リレーショナルデータベースシステムごとに細かい文法が異なることがありますが、多くの部分は共通しています。
SQLには例えば次のような命令が用意されています。
データ定義
- CREATE:データベースやテーブルの作成
- DROP:データベースやテーブルの削除
- ALTER:データベースやテーブルの変更
- JOIN:テーブルの結合
- TRUNCATE:テーブルのデータを削除
データ操作
- SELECT:データ取得
- UPDATE:データ更新
- DELETE:データ削除
- INSERT:データ挿入
データ制御
- BEGIN:トランザクション開始
- COMMIT:実行した処理の確定
- ROLLBACK:データを過去の状態に戻す
- GRANT:ユーザー権限付与
- REVOKE:ユーザー権限剥奪
例えば、authorテーブルの全てのレコードを取得するには次のように記述します。
SELECT * FROM author;
最初に目的の命令(SELECT)を書き、次にその命令の対象( * は全て)、場所の指定(FROM author)となっています。