差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
|
programming:db:postgresql_command_examples [2018-09-03 13:55] Decomo 作成 |
programming:db:postgresql_command_examples [2019-10-24 14:49] (現在) Decomo |
||
|---|---|---|---|
| 行 2: | 行 2: | ||
| 自分用メモ | 自分用メモ | ||
| + | |||
| + | ===== psqlコマンド関連 ===== | ||
| + | |||
| + | DBに接続 | ||
| + | < | ||
| + | psql -U ユーザー名 -d データベース名 -H ホスト名 | ||
| + | </ | ||
| ===== 列の追加 ===== | ===== 列の追加 ===== | ||
| 行 9: | 行 16: | ||
| </ | </ | ||
| - | ===== プライマリキー制約の変更 ===== | + | ===== 主キー制約の変更 ===== |
| - | 既存の制約を一旦削除し、新たに制約を設定するという流れで行う。制約名はテーブル名に「_pkey」を追加した文字列である。 | + | 既存の制約を一旦削除し、新たに制約を設定するという流れで行う。さもないと「multiple primary keys for table " |
| + | |||
| + | なお、制約名はテーブル名に「_pkey」を追加したものである。 | ||
| <code sql> | <code sql> | ||
| 行 17: | 行 26: | ||
| ALTER TABLE テーブル名 ADD PRIMARY KEY (列名, 列名, ...); | ALTER TABLE テーブル名 ADD PRIMARY KEY (列名, 列名, ...); | ||
| </ | </ | ||
| + | |||
| + | ===== 外部キー制約の変更 ===== | ||
| + | |||
| + | <code sql> | ||
| + | ALTER TABLE テーブル名 DROP CONSTRAINT 制約名; | ||
| + | ALTER TABLE テーブル名 ADD FOREIGN KEY (制約をつける列名) REFERENCES 制約の参照先テーブル名(制約の参照先列名); | ||
| + | </ | ||
| + | |||
| + | 制約の名前を明示しないと「テーブル名_制約をつける列名_fkey」という名前が自動で付けられるっぽい。 | ||
| + | |||
| + | ===== SELECT結果にテーブルにない固定値列を追加する ===== | ||
| + | |||
| + | SELECTの中に「固定値 as 列名」を入れる。 | ||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | ■SQL | ||
| + | <code sql> | ||
| + | SELECT id, | ||
| + | name, | ||
| + | ' | ||
| + | FROM users; | ||
| + | </ | ||
| + | </ | ||
| + | ■実行結果 | ||
| + | ^ id ^ name ^ country | ||
| + | | 1|山田太郎|日本| | ||
| + | | 2|佐藤花子|日本| | ||
| + | | 3|鈴木一郎|日本| | ||
| + | </ | ||
| + | </ | ||
| + | 合わせ技で固定値にとしてサブクエリの結果を使うこともできる。 | ||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | ■SQL | ||
| + | <code sql> | ||
| + | SELECT id, | ||
| + | name, | ||
| + | | ||
| + | FROM users; | ||
| + | </ | ||
| + | </ | ||
| + | ■実行結果(contriesテーブルでname=' | ||
| + | ^ id ^ name ^ country_id | ||
| + | | 1|山田太郎| | ||
| + | | 2|佐藤花子| | ||
| + | | 3|鈴木一郎| | ||
| + | </ | ||
| + | </ | ||