SQLでのテーブルの作り方を簡単にまとめておく。
PostgreSQL使用。pgAdmin4で実行。
PostgreSQLのすべて:PostgreSQL 14.5文書
テーブルの作成
テーブル作成の際は、列名、データ型、列の制約を指定する。
テーブル名、列名の最初は必ずアルファベットで始める(数字はNG)。
例
列名 | データ型 | 制約 |
---|---|---|
product_id | VARCHAR(10) | PRIMARY KEY |
product_name | VARCHAR(15) | NOT NULL |
price | INTEGER | |
product_category | VARCHAR(10) | NOT NULL |
SQL
CREATE TABLE product
(product_id VARCHAR(6),
product_name VARCHAR(10) NOT NULL,
price INTEGER,
product_category VARCHAR(10) NOT NULL,
PRIMARY KEY (product_id)
);
- データ型
データ型 | 内容 |
---|---|
INTERGER | 整数を入れる数値型 |
CHAR | 文字列型、固定長文字列、カッコ内の数字で最大文字数指定 |
VARCHAR | 文字列型、可変長文字列、カッコ内の数字で最大文字数指定 |
DATE | 日付型 |
固定長文字列では文字数が少ない場合、最大文字数になるまで半角スペースで文字埋めされるが、可変長文字列ではそれがない。
- 制約
"NOT NULL"はNULL(データ無し)ではいけないという意味。
"PRIMARY KEY"は列または列のグループがテーブル内の行を一意に識別するものとして利用できることを意味する。
主キーについて
テーブルの削除
SQL
DROP TABLE product;
テーブル定義の変更(列追加)
productテーブルに列taxを追加
SQL
ALTER TABLE product ADD COLUMN tax INTEGER;
列名変更
taxをinclude_taxに変更
SQL
ALTER TABLE tax RENAME TO include_tax;
列削除
SQL
ALTER TABLE practice DROP COLUMN include_tax;
データ(行)の挿入
productテーブルにデータを追加する。
SQL
BEGIN TRANSACTION;
INSERT INTO product VALUES('p0001', 'カップ麺', '100', 'food');
INSERT INTO product VALUES('p0002', '醤油', '50', 'seasoning');
INSERT INTO product VALUES('p0003', 'バナナ', '200', 'food');
COMMIT;
以上!