SQL スキーマとかテーブルとか

PostgresをDockerで動かす

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
docker exec -it some-postgres bin/bash
psql -U postgres

データベース一覧

SELECT* FROM pg_database;

現在のデータベースを確認

select current_database();

データベース変更

\c test;

データベース削除

drop database test;

バージョン確認

select version();

スキーマ一覧

select schema_name from information_schema.schemata;

現在のスキーマを選択

select current_schema();

作成

 create schema test;

スキーマを変更

SET search_path = test;

スキーマ削除

drop schema test;

テーブル操作

テーブル一覧

select  relname as TABLE_NAME  from  pg_stat_user_tables;
# または
SELECT * FROM pg_catalog.pg_tables;

テーブル作成

create table soft();
# カラム指定
create table soft(id char(4) NOT NULL, name char(30) NOT NULL, price INTEGER , PRIMARY KEY (id));

テーブル列を追加する ※softはサンプルのテーブル名

alter table soft add column created_at date;

テーブルの列を削除する

alter table soft drop column created_at;

テーブル削除

drop table soft;

カラム一覧取得

SELECT * FROM information_schema.columns where table_name='soft' order by ordinal_position;

命名ルール データベースやテーブル、列といった名前に使える文字は、半角文字のアルファベット 数字、アンダーバーに限られる。 また、名前の最初は半角のアルファベットで始める。

コメントの書き方

# 一行のみ
-- これはコメント

# 複数行
/*
これはコメント
これはコメント
*/