Database JUNKY

MySQL,MariaDBを中心としたブログです

外部ファイルを読み込みSQL(DDL)を実行する

外部で作成したSQLファイルを、実行する方法についてメモします。

以下のDDLが書かれたDDLを、/home/dbuser/app/sql/common.postal.sql という名前で保存する。

CREATE SCHEMA COMMON; CREATE TABLE COMMON.POSTAL ( PSJSX401 CHAR(5) NOT NULL , PSYUBOLD VARCHAR(5) NOT NULL , PSYUBNEW VARCHAR(7) NOT NULL , PSTDHKKN VARCHAR(10) NOT NULL , PSADR1KN VARCHAR(100) NOT NULL , PSADR2KN VARCHAR(100) NOT NULL , PSTDHKKJ VARCHAR(30) NOT NULL , PSADR1KJ VARCHAR(80) NOT NULL , PSADR2KJ VARCHAR(80) NOT NULL , PSKBN001 CHAR(1) NOT NULL , PSKBN002 CHAR(1) NOT NULL , PSKBN003 CHAR(1) NOT NULL, PSKBN004 CHAR(1) NOT NULL, PSKBN005 CHAR(1) NOT NULL, PSKBN006 CHAR(2) NOT NULL ) TABLESPACE TS1 ;

SQLのことをかるく触れておくと、郵政省の郵便番号テーブルを、TS1というテーブルスペースに、COMMONという名前のスキーマで登録するみたいな感じ です。SQLに関しては、posgresだろうが、oracleだろうが、DB2だろうが、そんなに変わるものではないので、説明は割愛します。

、でこの外部ファイルを、実行する場合、以下のような感じで行います。

$ psql -d qk -U dbuser -f /home/dbuser/app/sql/common.postal.sql CREATE SCHEMA CREATE TABLE
  • データベースは、qkに接続する。
  • ユーザーは、"dbuser"
  • ファイルは、/home/dbuser/app/sql/common.postal.sql

とまあ、こんな感じで簡単です。