初めてSQLコマンドを叩く緊張と感動の一瞬さらっと覚えるSQL&T-SQL入門(1)(1/3 ページ)

アプリケーション開発でデータベースを利用する新人プログラマに向けて、SQLおよびT-SQLを短期間で理解できるよう、開発現場ですぐに必要となる内容を中心に解説する。(編集部)

» 2007年02月21日 00時00分 公開
[石橋潤一株式会社システムインテグレータ]

主な内容

   --Page 1--
▼SQLとT-SQLについて
▼SQLの機能分類
   --Page 2--
▼SQL Server 2005を利用してみよう
▼Management Studioを利用する
   --Page 3--
▼初めてSQLコマンドを発行してみる


 本連載は、SQL Server 2005を利用しSQLの基礎からストアドプロシージャの作成までを、順序立てて解説していきます。読者対象はSQLに初めて触れるような方を対象としています。ちょうど連載が春からの開始となりますので、新人プログラマの方々はこの機会にぜひSQLをマスターしてください。また、本連載ではSQLを網羅的にとらえるよりも、分かりやすく実践的な内容を記述していきます。ツールの簡単な使い方から各種構文まで扱いますので、各回で取り上げた内容をきっかけとして、SQL学習を進めていきましょう。

SQLとT-SQLについて

 SQLの歴史は非常に古く、1970年にエドガー・F・コッド(Edgar Frank "Ted" Codd)博士によって発表されたリレーショナル型データベースモデルに関する論文(A Relational Model of Data for Large Shared Data Banks)が起源とされています。この論文を起点としてIBMやRelational Software(現Oracle)などで最も原始的なRDBMS(Relational DataBase Management System:リレーショナルデータベース管理システム)がいくつか開発されました。その際、データベースに対する問い合わせを実現するために誕生したのがSEQUEL、後にいう「SQL」(Structured Query Language:構造化問い合わせ言語)です(図1)。

図1 SQLとデータベースの関係 図1 SQLとデータベースの関係

 SQLの誕生当初、データベース・ベンダ各社で言語仕様に関する拡張が行われており互換性がありませんでした。このため、ANSI(アメリカ規格協会)やISO(国際標準化機構)などでSQLの標準規格が策定され、「SQL87」や「SQL92」といった形で時代のニーズに合わせた改訂が進められています。しかしながら、標準規格は定まったものの、依然として各ベンダが提供するRDBMS製品では独自拡張が続けられており、マイクロソフトが取り扱うSQL Serverも例外ではありません。

 マイクロソフトではこの標準規格をSQL Server専用に拡張し、「Transact SQL」(本書では略称のT-SQLと表記します)という言語仕様としてまとめています。従って、SQL Serverに対してSQLを発行する際は、標準規格に則ったSQLとSQL Server専用のSQLが混在することになります。SQL Serverで覚えたSQLがそのままでは他社のRDBMS(Oracleなど)で動かない、といったことはよくありますが、基本的な思想や文法が近いので、それほど苦労せずにほかRDBMSに移行することも可能です。

SQLの機能分類

 データベースは非常に多くの機能から成り立っており、これらを取り扱うSQLも広範囲にわたる言語仕様を持っています。SQLの言語仕様は大きく分けて3つ存在しています。

1.DDL(Data Definition Language:データ定義言語)

 主にデータベースや表の作成などを行うために定義されている言語です。主に次のような命令文が含まれています。

  • CREATE データベースや表を作成する
  • ALTER データベースや表の定義を変更する
  • DROP データベースや表を削除する

2.DML(Data Manipulation Language:データ操作言語)

 表に格納されるレコードを取り扱う言語です。最も利用頻度が高く、DMLを覚えることがSQLをマスターする第一歩となります。主に次のような命令文が含まれています。

  • SELECT テーブルに格納されたレコードを取得する
  • UPDATE テーブルに格納されたレコード内容を更新する
  • INSERT テーブルへレコードを追加する
  • DELETE テーブルからレコードを削除する

3.DCL(Data Control Language:データ制御言語)

 データベースの制御やトランザクションを制御するために定義されている言語です。主に次のような命令文が含まれています。

  • COMMIT トランザクションを確定する
  • ROLLBACK トランザクションを取り消す
  • GRANT データを操作する権限をユーザーに与える
  • REVOKE データを操作する権限をユーザーから取り上げる

 上記に挙げた以外にも多種多様な命令がSQLには存在しています。すべてを取り上げているとそれだけで連載が終わってしまうので、本連載では主にDMLを取り上げます。DMLをマスターできた方はDDL、DCLと学習を進めていきましょう。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。