Mysql認識(三)

1424 ワード


目次
 
フィールドのプロパティ
フィールドのプロパティ
プライマリキー
1つのテーブルには1つのプライマリ・キーしかありません.特徴:一意で空ではありません.実際の開発ではidという論理フィールドを各テーブルのプライマリ・キーとして使用するのが一般的です.
オートインクリメント
自己成長auto_increment対応フィールドに値を与えないか、デフォルト値を与えると自動成長自己増加が行われます.数値自己増加に対してのみ前提があります.インデックスでなければなりません.1枚のテーブルには自己成長が1つしかありません.したがって、自己成長は一般的にプライマリ・キー(id)と組み合わせて使用されます.
ユニークキー(unique key)
ユニークキー(unique key)1枚のテーブルには多くのフィールドデータが重複できず、データに一意性を持たせることが多いが、1枚のテーブルにはプライマリキーが1つしかないので、ユニークキーは勢いに乗って生まれたのではないか.ユニークキーの本質とプライマリキーの差は多くなく、ユニークキーは繰り返すことができないが、ユニークキーとプライマリキーの違いは、ユニークキーが空であることができる.ユニークキーが空でなければ、プライマリキーの制約作用と一致する.
外部キー
外部キーforeign key自分の表にないキー(key)
外部キーの作成要件:
  • 外部キーを作成するには、フィールド自体がインデックスである必要があります.このフィールド自体がインデックスでない場合、外部キーはインデックスを作成し、外部キー
  • を作成します.
  • 外部キーは、データベースのエンジンがinndoDBであることを要求する.
  • 外部キーのフィールドタイプは、親テーブル(外部キーが指すテーブル)のプライマリ・キー・タイプと一致する必要があります
  • .
  • 外部キーの名前は
  • を繰り返すことはできません.
     外部キーの制約は2つに分けられます.
  • 親テーブルに対する制約
  • 親テーブルデータは、
  • を削除または更新することはできません.
  • サブテーブルに対する制約
  • 親テーブルが存在しないデータをサブテーブルに挿入すると
  • とエラーが発生します.

    外部キーのいくつかのモード
  • restrictデフォルト
  • cascadeカスケード
  • 親テーブル更新子テーブル更新親テーブル削除子テーブル削除
  • set nullを空にする
  • 親テーブル更新子テーブル空親テーブル削除子テーブル空(空が前提)

  • インデックスのほとんどのインデックスは、フィールドに作成された意味です.
  • クエリー・データの効率化
  • 制約データの有効性(一意性)