メールマガジン【アクセスで作るシリーズ】


バックナンバー 【会計ソフト編】 Vol.53
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

    ACCESSで作るシリーズ  【会計ソフト編】

    発 行 : Yoshihisa Fukuda          2001. 5.19 Vol.53

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------

 今回からは数回に分けて、SQLについて解説していきたいと思います。

== ◇ 第5章 拡張機能     ====================

--------------------------------------
 第8回 SQL その1
--------------------------------------

◆SQLとは
 SQLに関して深く解説すると、それだけで簡単に1冊の本ができてしまいます。
 SQLの歴史や、応用は専門の書籍に任せるとして、ここでは基本的な部分のみ
 触れていきます。

 SQLはリレーショナル・データ―ベースに対しての命令言語です。
 SQLは(Structured Query Language)の略で「構造化問い合わせ言語」と訳され
 ています。

 SQLにも色々と方言があり、ANSI/ISO SQL-92 が一応、標準とされていますが、
 データベース(ORACLE,SQL Server,MS-ACCESSなど)で独自の方言を多数持って
 います。

 アクセスではSQLをクエリーと称しています。
 アクセスの、このクエリーがSQLそのものです。
 従って、SQL言語を理解していなくても、ある程度のクエリーは作れるでしょう。
 しかし、先程書いたように、データベースにより方言があり、また、アクセスの
 クエリーは特に癖があるので、標準的なSQLを学びたい方はアクセスのクエリー
 で勉強されることはお勧め出来ません。

 逆にSQLなど勉強したくない、アクセスだけできれば良いと言う方は、今回から
 のSQLの解説は必要無いかも知れません。

◆ SELECT
 SELECT はテーブルの行データを参照する場合に使います。

 SELECT FIELD_1, FIELD_2 FROM TABLE_1;
 とすると、TABLE_1 のデータの項目 FIELD_1 と FIELD_2 を参照できます。

 FIELD_2 だけ参照したい場合、
 SELECT FIELD_2 FROM TABLE_1;

 書式としては
 SELECT 参照したいフィールド名「複数の場合,で区切る」 FROM テーブル名 ;
 となります。

 また、参照したいフィールド名が全フィールドの場合、* を使います。

◆ INSERT
 INSERT はテーブルに行データを追加する場合に使います。

 INSERT INTO TABLE_1 ( Field_1, Field_2 ) VALUES (1, 'AAA');
 とすると、TABLE_1 に FIELD_1 が1、FIELD_2 がAAAのデータが1行追加され
 ます。

 書式としては
 INSERT INTO テーブル名 ( フィールド名「複数の場合,で区切る」)
 VALUES (データ「複数の場合,で区切る」) ;
 となります。

 また、フィールド名は省略する事もできますが、その場合 VALUES句のデータは
 テーブルのフィールドの順番となります。

◆ UPDATE
 UPDATE はテーブルの行データを更新する場合に使います。

 UPDATE TABLE_1 SET FIELD_1 = 10;
 とすると、TABLE_1 の FIELD_1 の値を10に更新します。

 書式としては
 UPDATE テーブル名 SET フィールド名 = データ
 となります。

◆ DELETE
 DELETE はテーブルの行データを削除する場合に使います。

 DELETE FROM TABLE_1;
 とすると、TABLE_1 の行データを削除します。

 書式としては
 DELETE FROM テーブル名 ;
 となります。

◆ 共通事項
 SQL文の共通事項として、いくつかを下記に挙げておきます。

 1.大文字、小文字の区別はない。
   SQL文は大文字、小文字を特に区別しません。
   従って、大文字、小文字が入り乱れていてもエラーにはなりません。
   例えば DElete FrOm TabLE_1 と書いてもOKです。がやはり見難いので
   やめた方が良いでしょう。
 2.最後は;で終わる。
   アクセスのクエリーでは;を付けなくてもアクセスが勝手に付けてくれますが、
   他のデータベースなどを考えて;を付ける習慣を付けておく事が望ましいと思い
   ます。
 3.別に条件が付けられる。
   今回紹介した SELECT、UPDATE、DELETE は条件を付けなければ、全レコードが
   対象となります。
   例えば、DELETE FROM TABLE_1 を実行するとTABLE_1 の全データが削除され
   ます。
   ある特定のデータのみ削除(参照、更新)したい場合、WHERE句などで条件を
   付けます。
   SELECT での結果をソートしたい場合も、ORDER句などで指定します。
   WHERE句やORDER句は次回に解説しますが、実際には、色々な条件などを組み
   合わせて使います。

◆ アクセスで試してみる
 今回のSQLをアクセスで試して見ましょう。
 データベースウィンドウの[クエリー]タブで[新規作成]ボタンを押して、
 デザインビューを選択し[OK]ボタンを押します。
 [テーブルの表示]ダイアログで何も指定せず[閉じる]ボタンを押します。
 メニューの[表示]-[SQLビュー]を選択するとSQLを入力する画面になります。
 最初に SELECT; が選択状態で表示されますが、気にしないで削除しましょう。
 そしてSELECT や INSERT などSQLを書いてメニューの[クエリー]-[実行]を選択
 するとSQLの結果が表示されます。(INSERTはテーブルにデータが追加される)

 ここで注意ですが、アクセスはとても親切で、このクエリーを保存して[デザイン]
 で開くと勝手に書き換えてくれてしまいます。
 例えば、DELETE FROM TABLE_1 と入力してクエリーを保存してから再びデザインで
 開いて見ると DELETE * FROM TABLE_1; となっています。
 特にINSERT に関してはVALUES が SELECT に変換されてしまい、まるで別物の様に
 なってしまいます。
 但し、これらはアクセスの癖であって決してSQLが間違っている訳ではありませ
 んので注意して下さい。

※ ホームページに載せてあるサンプルもアクセスが勝手に書き換えてくれています。

--------------------------------------
冒頭にも書きましたがSQLを詳しくやると1冊の本になる位、奥が深いものです。
基本的な部分は簡単ですが、実用的になると如何に応用が利くかに掛かってきます。
しかし、応用するには基本がしっかりマスター出来ていないといけないので、まず、
基本をしっかり理解する様にして下さい。

次回はSQLその2です。
______________________________________
◆◇ Q&Aコーナー    ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

 今回はありません。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

◇ ACCESSで作るシリーズ 【会計ソフト編】
◇ 発 行 元  :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
  ご質問等   :fukuda@shun-net.com

◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
  しています。(まぐまぐID:0000030446)
◇ バックナンバー:http://www.shun-net.com/fukuda/
◇ 登録・解除  :http://www.shun-net.com/fukuda/

 Copyright(C) 2000-2001 Yoshihisa Fukuda All rights reserved.

◇転載について
 このメールマガジンの無断転載などは、一切禁止です。
 転載をご希望の方は、事前にメールで連絡をください。
◇免責
 このメールマガジン及びホームページの内容による、いかなる損害、障害などに
 関して発行者は一切の責任を負いません。
 掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□