PostgreSQLでのデータベースの作成方法を紹介する。
データベースに関する操作は、rootユーザではなく、PostgreSQL管理ユーザであるpostgresユーザで行う。
テーブルなどを格納するデータベースを作成する。例えばSampleDBというデータベースを作成したい場合、次のように行う。
$ createdb SampleDB
テーブルの作成にはcreate tableというSQLの命令を使用する。
create table yubin_tab
(
new_zip char(7),
old_zip char(5),
address_1 varchar(128),
address_2 varchar(128),
address_3 varchar(128)
);しかし、これを入力するのは手間がかかるだけでなく、入力ミスをするかもしれない。よって、postgresユーザのホームディレクトリにyubin_tab.sqlというファイルを作成し、そのファイルにcreate table文を記述する。
ファイルを作成したら、テーブルの作成を行う。PostgreSQLやOracleの場合、データベースに対してSQL要求を伝えるクライアントアプリケーションが必要である。PostgreSQLには対話型のクライアントアプリケーションとしてpsqlというユーティリティが用意されている。このアプリケーションを使い、テーブルを作成する。
1.データベースに接続
psqlを起動し、データベースSampleDBに接続する。
$ psql SampleDB
psqlが起動すると、次のようなWelcomeメッセージが表示され、プロンプトからSQLステートメントやpsqlコマンドを実行できるようになる。
Welcome to psql 8.2.3, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit SampleDB=#2.create tableコマンドの実行
プロンプトから直接create tableコマンドを実行してもいいが、用意したファイルをプロンプトから実行するには次のように行う。
SampleDB=# \i yubin_tab.sql
テーブルが作成されたかどうか、確認する。
SampleDB=# \dt List of relations Schema | Name | Type | Owner --------+--------------------------------------+-------+---------- public | yubin_tab | table | postgres (1 rows) SampleDB=#これにより、データベースSampleDBにはyubin_tabテーブルがあり、Ownerがpostgresユーザであることが分かる。
3.データの挿入
テーブルへのデータの挿入はInsert文を使用する。ここでは紹介しない。
参考書ではデータがCDに用意してあり、Copyコマンドを使ってデータを追加した。4.データの検索
データを追加したら、Select文で挿入されているかを確認する。ここでは紹介しない。
5.psqlの終了
psqlを終了するには、\qを使用する。
SampleDB=> \q
psqlが終了し、プロンプトが元に戻る。
これで、データベースが使えるようになった。しかし、このままではWeb上でデータベースのデータを表示したり、AccessなどでODBCを使って操作することはできない。
それらの設定は別ページで解説する。
1.日本語の取り扱い
テーブル内のデータは日本語が使えたが、テーブル名や項目名にも使えるかどうかはまだ試していない。項目名には使えてテーブル名には使えないような気がする・・・
と思っていたら、テーブル名だろうが項目名だろうが、全く問題なく日本語が使えました。EUCコードで記述さえすればOK!
とはいえ、テーブル名や項目名は日本語を使わないのがセオリーでしょう。2.「psql」ユーティリティの使い方
データベースへの操作はpsqlユーティリティを使うが、サーバ上で直接使うには日本語を扱う場合に結構面倒である。
これはクライアントからtelnetで接続して操作するのが一番やりやすいと思う。クライアントからIMEで入力するのが手っ取り早い!!