|
初めてのPostgreSQL日記 - 3日目 |
今日は本(廉 升烈「PostgreSQLによるLinuxデータベース構築」翔泳社)を見ながらデータベースの作成といきますか。
もちろん、昨日作成したaho君のアカウントのまま作業続行
|
$ createdb tester CREATE DATABASE |
と、無事にデータベース作成完了。
何々?、PostgreSQLを利用するにはpsql(/usr/bin/pqsl)なるフロントエンド(つまり、ユーザーとコンピュータの間を取り持つもの)アプリケーションを起動していないといけないのか。と納得しつつ、先へ進む
|
$ psql tester
PostgreSQL の会話型ターミナル、psql へようこそ
\copyright とタイプすると、配布条件を表示します \h とタイプすると、SQL コマンドのヘルプを表示します \? とタイプすると、内部スラッシュコマンドのヘルプを表示します \g と打つかセミコロンで閉じると、クエリーを実行します \q で終了します
tester=# |
おお、これで、psqlが起動し、コマンド待ちの状態になったのか。
もちろん、\qを入れて、すぐにpsqlを終了させる。(^-^)
エディタでaho.sqlというファイルを作り、そのファイルに
|
create table passwd( id varchar(8) not null, passwd varchar(8) not null, primary key(id) ); |
と本に書いているまま書いてみる。まぁ、意味する所は、8文字のchar型で空ではないidと、8文字のchar型で空ではないpasswdをもっていて、idが主キーとなる、passwdというテーブルなんだろうねぇ。
それで、いま作ったファイルを次のように実行すると、
|
$ psql tester < ./aho.sql NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'passwd_pkey' for table 'passwd' CREATE |
と、データベースにテーブルが作成できた模様です。このテーブルに、直接データを入れていく。
|
$ psql tester PostgreSQL の会話型ターミナル、psql へようこそ
\copyright とタイプすると、配布条件を表示します \h とタイプすると、SQL コマンドのヘルプを表示します \? とタイプすると、内部スラッシュコマンドのヘルプを表示します \g と打つかセミコロンで閉じると、クエリーを実行します \q で終了します
tester=# \dt リレーション一覧 名前 | 型 | 所有者 --------+----------+-------- passwd | テーブル | kabe (1 行)
tester=# |
\dtコマンドは、テーブルのリストを表示すると本に書いてあるものの、新しいバージョンでは、テーブルの状態を表示してる模様。
空っぽのままのテーブルではあるけれども、テーブルの内容を参照するにはselect文を利用するらしい、「select 列名 from 条件」。
実際にやってみると、以下の通り、
|
tester=# select * from passwd; id | passwd ----+-------- (0 行)
テーブルに実際にデータを入力してみる。
tester=# insert into passwd(id,passwd) values ('tester1','tester'); INSERT 16569 1 tester=# insert into passwd(id,passwd) values ('tester2','tester'); INSERT 16570 1 tester=# insert into passwd(id,passwd) values ('tester3','tester'); INSERT 16571 1 tester=# insert into passwd(id,passwd) values ('tester4','tester'); INSERT 16572 1 tester=# insert into passwd(id,passwd) values ('tester5','tester'); INSERT 16573 1 tester=# insert into passwd(id,passwd) values ('tester6','tester'); INSERT 16574 1 tester=# insert into passwd(id,passwd) values ('tester7','tester'); INSERT 16575 1 |
先ほどのコマンドを利用して確認すると、
|
tester=# select * from passwd; id | passwd ---------+-------- tester1 | tester tester2 | tester tester3 | tester tester4 | tester tester5 | tester tester6 | tester tester7 | tester (7 行) |
になる。はぁ、長かった。
Copyright (C) 2001 Keisuke ABE. All Rights Reserved.