メールマガジンの締め切りに間に合わなかった^^;
★ChocoのDB(データベース)を操作しましょうコーナー★
【第二回】テーブルと検索
なでしこで単にデータベースに情報を登録するだけでなく、その情報をとりまとめたり、素早く取り出したりする事で様々な業務に役立つシーンもあります。
今回は、主にテーブルの作成方法と様々な検索についてお話したいと思います。
■Part1:PostgreSQLのテーブル調整■
前回は、「CREATE TABLE post (DAY TEXT,Name TEXT,Age TEXT);」をSQL実行#ここで登録用の「post」テーブルを作成しました。
しかし、これでは各項目は全てテキスト項目となってしまい項目に入っている値を計算に使う事すらできません。
では、どうすればよいのか?
それをこれから学んで行きましょう。
1.KEYの作成
通常のデータベースは、データを登録する時に自動的に連番を作成する事が出来ます。
PostgreSQLでは、「serial primary key」を使う事によって連番を自動的に生成するフィールドを作成できます。
2.項目毎のフィールド設定
次に各フィールドの特性を考えてみましょう。
「DAY」フィールドには日付が入ります。
よって、この項目は日付専用にしてしまいましょう。
PostgreSQLでは「DATE」と言う日付タイプがあります。
「Age」フィールドには年齢が入ります。
よって、この項目には整数が入ります。
間違ってもマイナスは入りませんので(笑)
PostgreSQLでは「SMALLINT」と言う数値タイプがあります。
これらをまとめて、前回同様にテーブルを作成、登録してみましょう。
#ここから————————————————————————-
PDATAとは配列
接続文字列は「test」#ここはデータソース名です。
接続文字列でADO開く。
「CREATE TABLE post2 (T_ID serial primary key,DAY DATE,Name TEXT,Age SMALLINT);」をSQL実行#ここで登録用の「post2」テーブルを作成します。
「INSERT INTO post2 (DAY,Name,Age) values (‘2007/2/14′,’choco’,20);」をSQL実行#データを登録します。
「SELECT * from post2;」をSQL実行#登録されたデータを読み込みます。
PDATAはDB結果全部取得#上で読込んだデータを変数「PDATA」に読込みます。
DB閉じる。
PDATAを言う。
終わる。
#ここまで————————————————————————-
如何ですか?
上記のプログラムを「なでしこ」上で実行すると、連番が自動的に振りつけられているはずです。
「CREATE TABLE post2 (T_ID serial primary key,DAY DATE,Name TEXT,Age SMALLINT);」をコメントしてから実行すると、何度でも上記のプログラムは実行できます。
その度に連番がカウントされて行き、最初は1、その次は2と言う様に増えて行きます。
下記のプログラムを一度実行して見て下さい。
#ここから————————————————————————-
PDATAとは配列
接続文字列は「test」#ここはデータソース名です。
接続文字列でADO開く。
「INSERT INTO post2 (DAY,Name,Age) values (‘2007/2/15′,’taro’,30);」をSQL実行#データを登録します。
「SELECT * from post2;」をSQL実行#登録されたデータを読み込みます。
PDATAはDB結果全部取得#上で読込んだデータを変数「PDATA」に読込みます。
DB閉じる。
PDATAを言う。
終わる。
#ここまで————————————————————————-
■Part2:PostgreSQLのテーブルを検索する■
実際にデータを登録すると、今度はそれを検索しますよね?
基本的な方法について説明しておきます。
1.完全一致検索
これは文字通り、完全に一致するものだけを検索する方法です。
名前で言うと、「choco」を検索してみましょう。
#ここから————————————————————————-
PDATAとは配列
接続文字列は「test」
接続文字列でADO開く
「SELECT * FROM post2 where name = ‘choco’;」をSQL実行
DB結果全部取得
それをPDATAに追加
DB閉じる。
PDATAを言う。
終わる。
#ここまで————————————————————————-
2.あいまい検索
検索する時に、完全に検索したい文字列がわかっている時は問題ありませんが、一部だけしかわからない時もありますよね?
そういった時に、「あいまい検索」を使います。
使い方は、「like」と「%」を利用します。
#ここから————————————————————————-
PDATAとは配列
接続文字列は「test」
接続文字列でADO開く
「SELECT * FROM post2 where Name like ‘cho%’;」をSQL実行
DB結果全部取得
それをPDATAに追加
DB閉じる。
PDATAを言う。
終わる。
#ここまで————————————————————————-
■Part3:PostgreSQLのテーブル内容を削除する■
たまったデータは、必要に応じて削除する時もあります。
そんな時に便利な「DELETE」です。
#ここから————————————————————————-
PDATAとは配列
接続文字列は「test」
接続文字列でADO開く
「DELETE FROM post2;」をSQL実行
DB結果全部取得
それをPDATAに追加
DB閉じる。
PDATAを言う。
終わる。
#ここまで————————————————————————-
如何ですか?
見事にデータが消えましたね。
これで基本のSQLの勉強は終わりです。
次回からは、画面を作成してアプリケーションを作成してみましょう。
それでは、また来月お会いしましょう!
コメント(0)
コメントを受け付けておりません。