AP データベース SQL基礎2
2025年5月21日 (水) 21:30時点におけるYo-net (トーク | 投稿記録)による版 (ページの作成:「<yjavascript></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/vs2015.css"> <link rel="stylesheet" href="https://wiki.yo-net.jp/custom.css"> <script src="https://wiki.yo-net.jp/highlight/highlight.js"></script> <script src="https://wiki.yo-net.jp/custom.js"></script> <style> .db_table-wrapper { width: 100%; max-width: 600px; margin: auto; } .db_table { width: 100%; border-collapse: collapse; box-shad…」)
社員ID | 氏名 | 所属部署 | 給与 |
---|---|---|---|
1 | 山田太郎 | 営業部 | 300000 |
2 | 佐藤花子 | 開発部 | 400000 |
3 | 鈴木一郎 | 営業部 | 350000 |
4 | 田中美咲 | 総務部 | 280000 |
ALTER TABLE
表に対する様々な変更をする句です。ALTER TABLEに続けて使うキーワードで、
- 1.列の追加 (ADD COLUMN):
- 既存のテーブルに新しい列を追加します。
- 2.列の削除 (DROP COLUMN):
- 既存のテーブルから列を削除します。
- 3.列の変更 (ALTER COLUMN / MODIFY COLUMN):
- 既存の列のデータ型、NULL許容性、デフォルト値などを変更します。構文はデータベースシステムによって異なる場合があります(例: SQL Server, PostgreSQLはALTER COLUMN、MySQLはMODIFY COLUMN)。
- 4.列名の変更 (RENAME COLUMN):
- 既存の列の名前を変更します。これもデータベースシステムによって構文が異なります (例: RENAME COLUMN old_name TO new_nameやCHANGE old_name new_name data_type)。
- 5.制約の追加・削除 (ADD CONSTRAINT / DROP CONSTRAINT):
- 主キー、外部キー、UNIQUE、CHECKなどの制約を追加または削除します。
- 6.テーブル名の変更 (RENAME TO):
- テーブル自身の名前を変更します。
- 1.列の追加
ALTER TABLE 社員
ADD COLUMN 入社日 DATE;
sql
社員ID | 氏名 | 所属部署 | 給与 | 入社日 |
---|---|---|---|---|
1 | 山田太郎 | 営業部 | 300000 | NULL |
2 | 佐藤花子 | 開発部 | 400000 | NULL |
3 | 鈴木一郎 | 営業部 | 350000 | NULL |
4 | 田中美咲 | 総務部 | 280000 | NULL |
このように列が追加されます。次は列を削除してもとに戻します。
2.列の変更
ALTER TABLE 社員
MODIFY COLUMN 給与 BIGINT NOT NULL;
sql
上記で、社員テーブルの給与列にBIGINT型を設定して、NOT NULL制約を指定できます。
- 3.列の削除
ALTER TABLE 社員
DROP COLUMN 入社日;
sql
社員ID | 氏名 | 所属部署 | 給与 |
---|---|---|---|
1 | 山田太郎 | 営業部 | 300000 |
2 | 佐藤花子 | 開発部 | 400000 |
3 | 鈴木一郎 | 営業部 | 350000 |
4 | 田中美咲 | 総務部 | 280000 |
4.制約の追加
ALTER TABLE 社員
ADD CONSTRAINT PK_社員ID PRIMARY KEY (社員ID);
sql
上記のようにすると社員テーブルの社員ID列を主キー設定にし、一意な値を保持し、NOT NULL制約を適用できます。
5.制約の削除
ALTER TABLE 社員
DROP CONSTRAINT PK_社員ID;
sql
上記のようにすると社員テーブルの社員IDの制約を削除することができます。
6.テーブル名の変更
ALTER TABLE 社員
RENAME TO 従業員;
sql
上記のようにすると社員テーブルを従業員テーブルという名前に変更できます。