テーブルにデータを格納する方法には、大きく分けて次の3通りあります。
データベースの初期作成のように、データを大量にテーブルに格納する場合は、2、3を用い行ないます。
それに対して、すでに出来ているデータベースに少量のデータを追加する場合は、1の方法で行なうことが多いです。
データベースに入力するデータを特別なルーチンでチェックする必要がある場合などは、3の方法で行なう必要があります。
ここでは、1 と 2の2通りの方法を示しておきます。
| namae | toshi | addre | tel |
|---|---|---|---|
| ハル | 2 | 宇部市 | 0836-88-8888 |
| ミミ | 2 | 宇部市 | 0836-33-3333 |
| ポチ | 10 | 山口市 | 0839-66-6666 |
上記3行のデータを次のように3つのinsert文でひとつづつ追加して行きます。
egi=> insert into meibo values ('ハル', 2, '宇部市', '0836-88-8888');
INSERT 145964 1
egi=> insert into meibo values ('ミミ', 2, '宇部市', '0836-33-3333');
INSERT 145965 1
egi=> insert into meibo values ('ポチ', 10, '山口市', '0839-66-6666');
INSERT 145966 1
egi=>
|
追加した内容がどのように格納されているか、select文を用いて全検索をしてみます。
egi=> select * from meibo; namae|toshi|addre | tel -----+-----+------+------------ ハル | 2|宇部市 |0836-88-8888 ミミ | 2|宇部市 |0836-33-3333 ポチ | 10|山口市 |0839-66-6666 (3 rows) egi=> |
例えば次の2件のデータを上記のテーブルmeiboに登録したいとします。
| namae | toshi | addre | tel |
|---|---|---|---|
| クー | 4 | 宇部市 | 0836-99-9999 |
| サチ | 3 | 下関市 | 0832-77-7777 |
すると、あらかじめ上記の内容をファイルにエディター(例えばxemacs)を用いて作成しておきます。ここではそのファイルmeibo.dataという名前に上記の内容を入力しておきます。 入力方法は、テーブルの1行をファイルの1行とし、カラム値とカラム値の間は1つ以上のタブ(tab)で区切ります。
[egi@myouga]$ xemacs meibo.data [egi@myouga]$ more meibo.data クー 4 宇部市 0836-99-9999 サチ 3 下関市 0832-77-7777 [egi@myouga]$ |
次に、psql のなかで、\copy命令を用いてコピーします。
egi=> \copy meibo from ./meibo.data <======= 追加命令 Successfully copied. egi=> select * from meibo <======= 追加確認をする egi-> ; namae |toshi|addre | tel ----------+-----+------------+------------ ハル | 2|宇部市 |0836-88-8888 ミミ | 2|宇部市 |0836-33-3333 ポチ | 10|山口市 |0839-66-6666 クー | 4|宇部市 |0836-99-9999 サチ | 3|下関市 |0832-77-7777 (5 rows) egi=> |
確かに2件のデータが追加されています。
江木鶴子 : egi@ube-c.ac.jp