テーブルにデータを格納する方法には、大きく分けて次の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件のデータが追加されています。