Postgresql command

psql —help ヘルプ出す psql -l DB内の一覧を見れる psql DB名 そのDB中に入れる 入った後は\qで出れる

CREATE TABLEのかきかた

shop=# 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));

ALTER TABLE shohin ADD COLUMN shohin_mei_kana VARCHAR(100);

ALTER TABLE shohin DROP COLUMN shohin_mei_kana;

トランザクションで記入ミス等、エラーが発生した場合は、そのトランザクション自体をROLLBACKで破棄しない限り 次の操作は行うことができない。 ROLLBACK;

テーブルへのデータ追加はトランザクションとInsertでおこなう。 BEGIN TRANSACTION; BEGIN 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;

作り終わったテーブルの操作 テーブル内の希望の列の中身を抽出 shop=# SELECT shohin_id, shohin_mei, shiire_tanka From shohin; shohin_id | shohin_mei | shiire_tanka -----------+----------------+-------------- 0001 | Tシャツ | 500 0002 | 穴あけパンチ | 320 0003 | カッターシャツ | 2800 0004 | 包丁 | 2800 0005 | 圧力鍋 | 5000 0006 | フォーク |

0007 | おろしがね | 790 0008 | ボールペン |

(8 rows)

セレクトの後ろをアスタリスク(ワイルドカード)にすると、すべての列を表示 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)

ASを使うと、列に別名をつけることができる。 shop=# SELECT shohin_id AS id, shop-# shohin_mei AS namae, shop-# shiire_tanka AS tanka shop-# FROM Shohin; id | namae | tanka ------+----------------+------- 0001 | Tシャツ | 500 0002 | 穴あけパンチ | 320 0003 | カッターシャツ | 2800 0004 | 包丁 | 2800 0005 | 圧力鍋 | 5000 0006 | フォーク |

0007 | おろしがね | 790 0008 | ボールペン |

(8 rows)

ASで日本語を別名としてつけることができる(その場限り)。 shop=# SELECT shohin_id AS "商品ID”,

shohin_mei AS "商品名", shiire_tanka AS "仕入単価" FROM Shohin; 商品ID | 商品名 | 仕入単価 ------+----------------+---------- 0001 | Tシャツ | 500 0002 | 穴あけパンチ | 320 0003 | カッターシャツ | 2800 0004 | 包丁 | 2800 0005 | 圧力鍋 | 5000 0006 | フォーク |

0007 | おろしがね | 790 0008 | ボールペン |