MacにHomebrewを使用してPostgreSQLをインストールする
(* Homebrewのインストールはこちらから)
Homebrewがインストールされている確認
$ brew --version
$ brew update
$ brew upgrade
インストールできるPostgreSQLを確認する
$ brew search postgresql
==> Formulae
postgresql@11 postgresql@14 ✔ postgresql@17
postgresql@12 postgresql@15 qt-postgresql
postgresql@13 postgresql@16 postgrest
PostgreSQLをインストールする
$ brew install postgresql
---
バージョン指定してインストールしたい場合
$ brew install postgresql@数字
インストールを確認する
$ psql --version
PostgreSQLを起動する
データベースを起動する
$ brew services start postgresql
データベース一覧を確認する
$ psql -l
データベース一覧が表示される
環境によるが、終了するときは[ : + q ]
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+---------------+----------+---------+-------+---------------------------------
postgres | *** | UTF8 | C | C |
template0 | *** | UTF8 | C | C | =c/*** +
| | | | | ***=CTc/***
template1 | *** | UTF8 | C | C | =c/*** +
| | | | | ***=CTc/***
(3 rows)
PostgreSQLに接続する
$ psql -h localhost -p 5432 -U *** -d postgres
*** はpsql -l でデータベース一覧を確認した時のOwnerを指定する
PosrgreSQLを使ってみる
データベースを作成する
CREATE DATABASE <データベース名>;
postgres=# CREATE DATABASE shop;
SQL文は大文字小文字を区別しないので書きどちらでもいい
(*データベース名は大文字小文字区別されるため注意)
postgres=# create database shop;
使用するデータベースを切り替える
データベース一覧を確認する。前工程で作成したshop
データベースが追加されていることが確認できた。
postgre=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+---------------+----------+---------+-------+---------------------------------
postgres | *** | UTF8 | C | C |
shop | *** | UTF8 | C | C |
template0 | *** | UTF8 | C | C | =c/*** +
| | | | | ***=CTc/***
template1 | *** | UTF8 | C | C | =c/*** +
| | | | | ***=CTc/***
(4 rows)
shop
データベースを使用するよう切り替える
postgre=# \c shop
You are now connected to database "shop" as user "kashiwawataru".
shop=#
テーブルを作成する
CREATE TABLE <テーブル名> (<列名1> <データ型> <この列の制約>,);
CREATE TABLE Shohin
(shohin_id CHAR(4) NOT NULL,
shohin_mei VARCHAR(100) NOT NULL,
shohin_bunrui VARCHAR(32) NOT NULL,
hanbai_tanka INTEGER ,
shiire_tanka INTEGER ,
torokubi DATE ,
PRIMARY KEY (shohin_id));
作成したテーブルにデータを挿入する
INSERT INTO <テーブル名> VALUES (<カラム値>,...);
BEGIN TRANSACTION;
INSERT INTO Shohin VALUES ('0001', 'Tシャツ', '衣服', 1000, 500, '2009-09-20');
INSERT INTO Shohin VALUES ('0002', '穴あけパンチ', '事務用品', 500, 320, '2009-09-11');
INSERT INTO Shohin VALUES ('0003', 'カッターシャツ', '衣服', 4000, 2800, NULL);
INSERT INTO Shohin VALUES ('0004', '包丁', 'キッチン用品', 3000, 2800, '2009-09-20');
INSERT INTO Shohin VALUES ('0005', '圧力鍋', 'キッチン用品', 6800, 5000, '2009-01-15');
INSERT INTO Shohin VALUES ('0006', 'フォーク', 'キッチン用品', 500, NULL, '2009-09-20');
INSERT INTO Shohin VALUES ('0007', 'おろしがね', 'キッチン用品', 880, 790, '2008-04-28');
INSERT INTO Shohin VALUES ('0008', 'ボールペン', '事務用品', 100, NULL, '2009-11-11');
COMMIT;
[SQL 第2版 ゼロからはじめるデータベース操作]のサンプルコードを使用しています(https://www.shoeisha.co.jp/book/download/9784798144450/detail)
挿入したデータを確認する
shop=# select * from shohin;
shohin_id | shohin_mei | shohin_bunrui | hanbai_tanka | shiire_tanka | torokubi
-----------+----------------+---------------+--------------+--------------+------------
0001 | Tシャツ | 衣服 | 1000 | 500 | 2009-09-20
0002 | 穴あけパンチ | 事務用品 | 500 | 320 | 2009-09-11
0003 | カッターシャツ | 衣服 | 4000 | 2800 |
0004 | 包丁 | キッチン用品 | 3000 | 2800 | 2009-09-20
0005 | 圧力鍋 | キッチン用品 | 6800 | 5000 | 2009-01-15
0006 | フォーク | キッチン用品 | 500 | | 2009-09-20
0007 | おろしがね | キッチン用品 | 880 | 790 | 2008-04-28
0008 | ボールペン | 事務用品 | 100 | | 2009-11-11
(8 rows)
作成したShohinテーブルを削除する
DROP TABLE <テーブル名>
shop=# DROP TABLE shohin;
テーブルに列を追加する
ALTER TABLE <テーブル名> ADD COLUMN <列の定義>;
テーブルの列を削除する
ALTER TABLE <テーブル名> DROP COLUMN <列の定義>;
テーブル名を変更する
ALTER TABLE <テーブル名> RENAME TO <新しいテーブル名>;