1.SQLとは
2. データ操作の基礎
3.データの準備
まずは、前回正規化したテーブルにデータを登録していきましょう。前回までと同様、仮想環境にossdbユーザでログインし、端末を立ち上げてください。
4つのテーブルorders、products、supplier、telbookをまだ作っていない場合は、前回の記事を参照し、CREATE TABLEを実行して作成してください。
データの挿入にはINSERT文を使用します。
例えば、商品テーブルに、価格150円のりんごを登録する場合には、次のようなSQLを実行します。
INSERT INTO products (name, price, etc) VALUES ('りんご', 150, '青森産');
※ここではまだSQLは実行しないでください。後でまとめてデータ登録を行います。
ただし、インポートするデータが大量にある場合は、COPYコマンドの使用をお勧めします。COPYコマンドは、標準入力や、CSVのような外部ファイルからのデータ入力を一括して処理することができるうえに、処理自体も大量データを想定して最適化されているので、INSERTを繰り返し実行するよりも効率的です。
今回は、データインポート用のSQLファイル(ossdb_sample.sql)を用意しました。まず、このファイルを、Webブラウザの機能を使ってダウンロードし、適当なディレクトリに保存してください。次に、psqlコマンドの-fオプションを使って読み込み実行すると、COPY文を使ったインポート処理が行われます。
psql -d ossdb -f /home/ossdb/ossdb_sample.sql
※データのダウンロード先が /home/ossdb/ossdb_sample.sql であると仮定しています。
※COPYコマンドは標準SQLではないため、他のRDBMSでは使用することができません。CSVなどから一括インポートする方法は、RDBMSごとに独自の方法があり、COPYコマンドは PostgreSQLのみで利用できる方法です。
COPYコマンドの詳しい解説については、オススメ!OSS-DB情報の『第7回 テキストファイル(CSVなど)の入出力』を参照してください。
4.SQLの実行
練習問題
まとめ
●SQL基礎Iで紹介した各SQL、及び集約関数については、以下のPostgreSQL 日本語ドキュメントのリファレンスも合わせてご覧ください。
1.INSERT文
http://www.postgresql.jp/document/9.1/html/sql-insert.html
2.COPY文
http://www.postgresql.jp/document/9.1/html/sql-copy.html
3.SELECT文
http://www.postgresql.jp/document/9.1/html/sql-select.html
4.UPDATE文
http://www.postgresql.jp/document/9.1/html/sql-update.html
5.DELETE文
http://www.postgresql.jp/document/9.1/html/sql-delete.html
6. 関数と演算子
http://www.postgresql.jp/document/9.1/html/functions.html
執筆:
神谷 貴広 氏(OSS-DB Silver認定者)株式会社オークニー ジオソリューション事業部
PostGISを含めたFOSS4G(Free Open Source Software for Geospatial)ソフトウェアを活用して、地図、位置情報を組み合わせたアプリケーションの設計・開発に従事。一方で、クラウド、スマートフォン、ソーシャルメディアと言った新しい価値を世の中が求める中、位置情報、地図を絡めた新しいサービスを模索中。
アドバイザー:
森 亮 氏 株式会社オークニー代表取締役
2002年にオークニーを設立し、代表取締役に就任。マッピング・ GIS・LBS・ITS関連プロジェクトのビジネスコンサルティングを経て、現在は会社経営の傍ら、『入門Webマッピング』(Tyler Mitchell原著;オライリー・ジャパン発行)の翻訳、Open Source Geospatial財団日本支部の代表者を務めるなど、FOSS4G(オープンソース地理空間ソフトウェア)の普及活動に取り組んでいる。
監修:
松田 神一
© EDUCO All Rights Reserved.