「AP データベース SQL基礎2」の版間の差分

提供:yonewiki
編集の要約なし
編集の要約なし
237行目: 237行目:


 上記のようにすると社員テーブルの社員ID列を主キー設定にし、一意な値を保持し、NOT NULL制約を適用できます。
 上記のようにすると社員テーブルの社員ID列を主キー設定にし、一意な値を保持し、NOT NULL制約を適用できます。
=== ''' 外部キー制約の追加 ''' ===
外部キー制約を追加する場合は以下のようになります。
<freescript></script><div class="hljs-wrap"><pre data-label="sql" class="pre-wrap"><code class="sql">ALTER TABLE 社員
ADD CONSTRAINT FK_社員_部署 FOREIGN KEY (所属部署)
REFERENCES 部署テーブル (部署名);</code></pre></div><script></freescript>





2025年5月21日 (水) 21:40時点における版

AP データベースへ戻る。

AP データベース SQL基礎へ戻る。


社員
社員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.列の追加


sql
ALTER TABLE 社員
ADD COLUMN 入社日 DATE;
sql


社員(入社日列追加後)
社員ID 氏名 所属部署 給与 入社日
1 山田太郎 営業部 300000 NULL
2 佐藤花子 開発部 400000 NULL
3 鈴木一郎 営業部 350000 NULL
4 田中美咲 総務部 280000 NULL


 このように列が追加されます。次は列を削除してもとに戻します。


2.列の変更

sql
ALTER TABLE 社員
MODIFY COLUMN 給与 BIGINT NOT NULL;
sql


上記で、社員テーブルの給与列にBIGINT型を設定して、NOT NULL制約を指定できます。


  • 3.列の削除


sql
ALTER TABLE 社員
DROP COLUMN 入社日;
sql


社員
社員ID 氏名 所属部署 給与
1 山田太郎 営業部 300000
2 佐藤花子 開発部 400000
3 鈴木一郎 営業部 350000
4 田中美咲 総務部 280000


4.制約の追加


sql
ALTER TABLE 社員
ADD CONSTRAINT PK_社員ID PRIMARY KEY (社員ID);
sql


 上記のようにすると社員テーブルの社員ID列を主キー設定にし、一意な値を保持し、NOT NULL制約を適用できます。


外部キー制約の追加

外部キー制約を追加する場合は以下のようになります。


sql
ALTER TABLE 社員
ADD CONSTRAINT FK_社員_部署 FOREIGN KEY (所属部署)
REFERENCES 部署テーブル (部署名);
sql


5.制約の削除


sql
ALTER TABLE 社員
DROP CONSTRAINT PK_社員ID;
sql


 上記のようにすると社員テーブルの社員IDの制約を削除することができます。


6.テーブル名の変更


sql
ALTER TABLE 社員
RENAME TO 従業員;
sql


 上記のようにすると社員テーブルを従業員テーブルという名前に変更できます。

 

AP データベース SQL基礎へ戻る。

AP データベースへ戻る。