LoginSignup
0
1

More than 5 years have passed since last update.

PostgreSQLメモ

Last updated at Posted at 2017-12-14

PostgreSQLで使ってて気付いたこととかをメモるところ

随時更新するよ.

LIKEによるテーブル定義の流用

  • 名前の意味
    • tblname: 作成するテーブル名
    • parent: DDLを流用する元テーブル名
    • tblname: データをつっこむテーブル名
    • pkeycol: PRIMARY KEYに指定したカラム名(複数カラムに指定した場合は,多分,それら全部要る)
  • やりかた

    CREATE TABLE tblname (LIKE parent);
    
  • 注意

    • 上の文ではPRIMARY KEYとかコメントとかついてこないので,振り直さないとだめ.
    • DEFAULT値とかはLIKE句の後ろにdefaultとかつけたらコピーできる.
    • 詳しくはCREATE TABLEとか参照.
  • おまけ

    • PRIMARY KEYを指定する場合

      ALTER TABLE tblname ADD PRIMARY KEY (pkeycol);
      
    • コメントをつける場合は

      COMMENT ON TABLE  tblname IS '←というテーブルを作ったそうな';
      COMMENT ON COLUMN tblname.pkeycol IS '←これPRIMARY KEYだから';
      

なければINSERT,重複する場合はUPDATE

  • 名前の意味
    • tblname: データをつっこむテーブル名
    • pkeycol: PRIMARY KEYに指定したカラム名(複数カラムに指定した場合は,多分,それら全部要る)
    • colname: データを入れたいカラム名
    • pkeyval: pkeycolのカラムに入れる値
    • value: colnameのカラムに入れる値
  • やりかた

    INSERT INTO tblname (pkeycol,colname) VALUES (pkeyval,value)
    ON CONFLICT ON CONSTRAINT pkeyname
    DO UPDATE SET colname = value;
    
  • 注意

    • CONSTRAINTで指定するPRIMARY KEYが必要.そらそーだ.
  • おまけ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1