0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[SQL]PostgreSQL学習記録

Posted at

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 <新しいテーブル名>;

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?