応用情報技術者試験で出てきた次のSQL文の解説を書いて見たいと思います。
特定の条件で一意制約を加えるというものです。
SQL文|令和4年春 午後 問6
ALTER TABLE クーポン明細 ADD CONSTRAINT クーポン明細_IX1 UNIQUE(クーポンコード, 獲得会員コード, 獲得制限_1枚限り)
ALTER TABLE クーポン明細
この部分で変更を加えるテーブルを指定しています。
ADD CONSTRAINT クーポン明細_IX1
ADD CONSTRAINTで新たな制約をテーブルに追加するための命令をしています。そしてその制約に名前(クーポン明細_IX1)がつけられています。
ちなみにIXは監修としてインデックスの略であることが多く、1はおそらく最初のものという意味だと思います。
UNIQUE(クーポンコード, 獲得会員コード, 獲得制限_1枚限り)
ここでこの3つのカラムの組み合わせがテーブル内で一意になるという制約を指定しています。
例えば以下の二行はユニーク制限になりません。
クーポンコード | 獲得会員コード | 獲得制限_1枚限り |
1 | 1 | Y |
1 | 2 | Y |
しかし以下の二行はユニーク制限にかかり存在できなくなります。
クーポンコード | 獲得会員コード | 獲得制限_1枚限り |
1 | 1 | Y |
1 | 1 | Y |
ALTER TABLEとUPDATEの違い
UPDATE文はテーブル内のデータを更新する際に使用します。
ALTER TABLE文はテーブルの構造を変更するために使用します。
構造を変更するとは
・新しいカラムの追加
・既存カラムの削除、変更
・制約の追加、削除
などが含まれます。
コメントを残す