ホーム - データベース - SQLについて

SQLについて

リレーショナルデータベース(RDB)では、データを取り扱うためにSQLという言語が用意されています。SQLとはStructured Query Languageの略(訳すと構造化問合せ言語となります)で「エスキューエル」とか「シークェル」と読みます。そして、RDBにデータ操作等を依頼するためにSQL言語を使って記述された文章をクエリーといいます。SQL言語の文法はデータベース製品によって若干記述が異なるため、ここではSQL Server等のマイクロソフト社製のDB製品用のSQL文法(Transact-SQLといいます)について見ていくことにします。

SQL言語で記述されたクエリーを使うと検索や集計といったデータ問合せ操作やデータの追加、更新、削除といったデータ加工操作の他に、テーブルの作成や項目変更、権限設定、索引作成(データ問合せのパフォーマンスを上げるためのインデックス作成)といったことデータベース設計情報の操作もできます。ただしSQL Serverではデータベース設計情報はビジュアルツールを使って設定することが多いため、ここではデータ問合せ操作とデータ加工操作のためのクエリーについて順番に説明します。

まず、SQL言語(Transact-SQL)には下記のような特徴があります。

  • 文法上のキーワードについて大文字と小文字の区別はない。
  • 空白文字(スペース)の個数は関係ない。
  • 文字列を指定する場合は「’」(シングルクォート)で囲む。
  • クエリーの最後には「;」(セミコロン)を付ける。
SQL言語では文法上、大文字と小文字の区別はないのですが、ここではSQL文法上のキーワード(SELECT・INSERT・UPDATE・DELETE・FROM・WHERE・ORDER BY・GROUP BY・HAVING等)は大文字で記述することにします。このサイトでは業務アプリケーションをC#.NETで作成することを目的としていますが、C#.NETのプログラム(ソースコード)では単語の頭文字を大文字、他を小文字として記述することが多く、その中にSQL言語のクエリーを混ぜて記述するため、SQL言語のキーワードを全て大文字で書いた方がC#.NETの部分とクエリーの部分の区別がしやすくなります。賛否両論がありますので、「SQL文法上のキーワードは大文字で記述する」というルールはあくまでもここだけのルールということにします。

業務アプリケーションの作成では「SELECT文」「INSERT文」「UPDATE文」「DELETE文」の4種類のクエリーを主に使用します。まずはそれぞれのクエリーの用途について簡単に説明します。

SELECT文
データベースに保存されているデータレコードを検索して取り出したり、集計結果を取得するためのクエリーです。
INSERT文
新しいデータレコードをテーブルに追加挿入するためのクエリーです。
UPDATE文
既存のデータレコードの保存内容を変更するためのクエリーです。
DELETE文
既存のデータレコードを削除するためのクエリーです。


それぞれのクエリーの文法については、このページだけでは説明しきれませんので、これ以降のページで順番に説明していきます。