SQL制約の6種類

データベースの制約


1.notヌルヌル制約

  • ①必須列はNULL値を受け入れません
  • ②例:あなたがテーブルを作成すると、名前のVARCHAR(6)NOT NULL、

2.uniqueユニーク制約

  • ①制約は、一意のデータベーステーブル内の各レコードを識別する
  • ②uniqueとユニークなプライマリキー制約データを提供
  • 自動的に定義された③primaryキー制約はユニークを持っています
  • ④注:各テーブルには1つのプライマリキー制約を持つことができますが、複数の制約ユニークを持つことができます
  • ⑤構文:
    1.name int型UNIQUE
    2.unique(COLUMN_NAME)
    3.CONSTRAINT uc_PersonID UNIQUE(P_ID、姓)複数の制約を追加
    制約テーブルの追加テーブルtable_nameがユニーク(COLUMN_NAME)を追加4.alter
    5.ALTERのテーブルtable_name DROP CONSTRAINTを主キー制約名を削除

3.primaryキー制約

  • ①制約は、一意のデータベーステーブル内の各レコードを識別する
  • ②主キーは一意の値が含まれている必要があります
  • ③主キー列は空にすることはできません
  • ④各テーブルには主キーを持っている必要がありますが、1つのプライマリキーを持つことができます
  • ⑤構文:
    1.StudentIDが主キーとして学生の数を作成するために、NULL主キーではなくint型
    主キーを作成する2.primaryキー(学生)学生証
    学生証と電子メールを作成するために3.primaryキー(StudentID、電子メール)が主キーであります
  • ⑥既存の列の主キーの作成
    テーブルtable_nameは、主キーを追加1.alter(COLUMN_NAMEを )
  • 主キー制約⑦削除
    1.alterテーブルtable_nameは、主キーをドロップ
  • ⑧主キー制約の削除
    キー制約名のクエリを審判1.alterテーブルtable_nameドロップ制約、主キー制約するには、sp_helpを使用することができます

4.foreignキー制約

  • ①別のテーブルの主キーのテーブルポイントの外部キー
  • 操作テーブルとの間の接続の破壊を防止するための②foreignキー制約
  • それはテーブルポイントの値のいずれかでなければならないので③foreignキー制約は、外部キー列に不正なデータを防止することができます
  • ④構文:
    1.foreignキー(COLUMN_NAME)参考メインテーブル名(主キー列名)メインテーブル名column_nameに外部キーを作成するには
    、メインテーブル名COLUMN_NAMEを作成するために、外部キー参照をint主テーブル名(主キー列名を)2.column_nameを外部キー
    テーブルtable_name 3.alter
    追加外部キー(列名)の参照メインテーブル名(主キーのカラム名)がすでに存在していることを外部キー列を作成するには
    4.alterのテーブルtable_nameドロップ制約、外部キー制約名は外部キー制約を削除する(SQL Serverのオラクル)
    テーブルtable_name 5.alter)(外部キー制約を削除するには、外部キーMySQLの外部キー制約名をドロップ

5.check制約

  • 列の値の範囲を制限するため①check制約
  • 単一の列にチェック制約を行う場合②、カラムは、特定の数値を入力することができ
  • ③テーブル定義チェック制約場合、制約は、特定の列の値を制限します
  • ④構文:
    1.StudentIDがnullチェック(StudentID> 0)ではないint型リミットStudentID入力が0(OracleのSQL Serverの)より大きい
    2.StudentID int型ではないnullで、制限値StudentID入力は(MySQLの)0より大きい
    チェック(StudentID> 0)
    3.sex VARCHAR(2)NOT NULLチェック(性別=「男性」または性別=「女性」)制限のセックスは、セックスだけは男性または女性である
    持っている4.alterのテーブルtable_nameの追加チェック(カラム名> 0)チェック制約を追加するいくつかの列
    テーブルtable_nameドロップ制約チェック制約の名前が制約制約名を削除5.alterはTABLE_NAMEビューをsp_helpをすることができます

6.default制約

  • 列にデフォルト値を挿入するための制約を①default
  • 他の値が指定されていない場合は②、デフォルト値は、すべての新しいレコードに追加されます
  • ③構文:
    1.name VARCHAR(10)デフォルトの「ジョン・ドウ」名前のデフォルト名の挿入座席
    2.systime日付デフォルトgatedate()時間getetime()関数に挿入されたデフォルト値は、時間のデフォルト値である
    3.alterテーブルtable_nameのアドオン列名の設定デフォルト「価値」の列は、既存の名前にデフォルト値を挿入され
    4.alterテーブルtable_nameドロップ制約デフォルトの制約削除制約名
发布了104 篇原创文章 · 获赞 60 · 访问量 5842

おすすめ

転載: blog.csdn.net/Q_1849805767/article/details/103731914