MySQLの列プロパティ


今日mysqlデータベースについての学習をまとめると、実際にフィールドを制約しているのはフィールドのデータ型であることはよく知られていますが、データ型の制約は単一で、このフィールドにどのデータを置くかとデータサイズだけを規定しており、追加のサードパーティ情報を規定することはできませんが、他のニーズがあります.この場合、データの正当性をより保証するために追加の制約が必要です.では今日は、mysqlデータベースのカラムプロパティ(フィールドプロパティ)について簡単にご紹介します
列のプロパティ:
  • NULL:このフィールドデータは空(デフォルト)であり、実際の開発時にできるだけすべてのデータが空でないことを保証することができる.空のデータは意味がなく、演算に参加できないため、1バイトの
  • を占有する.
  • NOT NULL:このフィールドのデータは空白の
  • ではありません.
  • DEFAULT:実際に出荷されると、あるデータに特定の値が頻繁に表示されることがわかります.この場合、最初にデフォルト値を指定することができます(例えば、会社の従業員の給料は8 kです.従業員の給料というフィールドでdefault 8000を設定できます).実際のデータが必要な場合、ユーザーはデフォルト値を選択的に使用したり、実際のデータを入力したりすることができます(たとえば、役員がいて、給料が20 kで、データを挿入するときに直接20000と書くことができます).(デフォルト値を使用すると、データを挿入するときにデフォルト値フィールドでデータを挿入しないかdefaultキーワードを使用することができます)
  •          defaultinsert into    valuesdefault);
    
  • PRIMARY :

  • プライマリ・キー:primary key、プライマリ・キー、1つのテーブルに1つのフィールドしか対応するキーを使用できません.(フィールド内のデータを一意に制約するために使用され、重複できません)1つのテーブルに最大1つのプライマリ・キーしか使用できません.プライマリ・キーは空ではありません.
    4.1主キーを追加:1).テーブルの作成時にフィールドの後にprimary keyキーと直接
                 primary key

    メリットとデメリット:プライマリキー2として1つのフィールドしか使用できない場合).テーブルを作成するときに、すべてのフィールドの後にprimary key(プライマリ・キー・フィールドのリスト)を使用してプライマリ・キーを作成します.複数のフィールドがプライマリ・キーである場合は、複合プライマリ・キーです.
    primary key);
    

    3).テーブルが作成されたら、フィールド属性を変更して追加または直接追加します.(フィールドデータが重複しないことを前提としています)
    alter table    modify          primary keyalter table    add primary key(    )

    4.2主キー制約:1).プライマリ・キー対応フィールドのデータは重複することが許されず、一旦重複すると、データ操作は失敗する(インクリメントと変更)2).複合プライマリ・キーは、その組合せプライマリ・キーが一致しないことを満たす限り、組合せプライマリ・キーが同じであれば競合します(プライマリ・キー・リストのデータはすべて同じではありません)
    4.3プライマリ・キーの更新/削除:プライマリ・キーを更新するには、既存のプライマリ・キーを削除してから新規作成する必要があります(したがって、プライマリ・キーの更新とは、実際には元のプライマリ・キーを削除してから、プライマリ・キーを再定義することです).
     alter table    drop primary key

    4.4プライマリ・キーの分類:実際にテーブルを作成する過程において、実際のビジネス・データをプライマリ・キーフィールド(ビジネス・プライマリ・キー、例えば学号、課程番号)として使用することは少ない.ほとんどの場合、論理フィールド(フィールドは意味がなく、値は何でもよい)を使用して、このフィールド・プライマリ・キーを論理プライマリ・キーと呼ぶ(つまり、プライマリ・キーは論理プライマリ・キーとビジネス・プライマリ・キーに分けられる)
  • UNIQUE KEY :

  • 1つのテーブルには、一意性が必要なフィールドが多く、データは重複できませんが、1つのテーブルに1つのプライマリ・キーしかありません.この場合、一意キー(unique key)は、テーブルに複数のフィールドが一意性制約を必要とする問題を解決します.
    ユニークキーの本質はプライマリ・キーとあまり差がありません.ユニーク・キーのデフォルトでは、自動的に空になり、複数の空にすることができます(空のフィールドはユニーク比較に関与しません)システムがプライマリ・キーがないことを発見した場合、プライマリ・キーの代わりにユニーク・キーが使用されます(ユニーク・キーフィールドは空ではありません)
    5.1ユニークキーを追加:1).テーブルを作成するときに、フィールドの後に直接
              unique/ unique key
    

    2).すべてのフィールドの後に
    unique key(    )//     
    

    3).テーブルを作成してから、ユニークキーを追加します.
     alter table    add unique key (   )
    

    5.2唯一のキー制約:主キーの本質と同じ;ユニークな違いは、ユニークキーがデフォルトで空に許可され、複数が空に許可されている(空に許可されている)ことです.ユニークキーフィールドが空に許可されていない場合は、プライマリキーの制約と一致します.
    5.3ワンタッチ更新/削除:プライマリ・キーと同じで、一意キーを更新するには、先に削除してから新規作成する必要があります(同じフィールドに対して、システムは一意キーが通常のインデックスであると判断しているため)
     alter table    drop index    (      )
    
  • AUTO_INCREMENT :

  • 1,対応するフィールドが値を与えない、あるいはデフォルト値である、NULLの場合、自動的にシステムによってトリガーされ、システムは現在のフィールドにある最大値から+1操作を行い、新しい異なるフィールドを得る.任意のフィールドが自己成長を行うには、インデックス(keyバーに値がある)3、自己成長フィールドが整数値フィールド(int)4でなければなりません.1つのテーブルには最大1つの自己成長しかありません.
                primary key auto_increment;
    

    6.1自己成長使用:自己成長が与えられた値がデフォルト値またはNULLである場合、自動成長がトリガーされ、自己成長の最初の要素がデフォルトで1であり、毎回自己増加1である.自己成長の対応するフィールドに値を入力した場合、自己成長は失効し、次回再び最大値+1で成長する
    6.2自己成長の増加:表の作成が完了した後、フィールドに自己成長を追加する場合
     alter table    modify          auto_increment

    6.3自己成長の修正:自己成長フィールドの変更に関連する場合は、自己成長を削除してから、現在の自己成長の既存の値を変更する場合は、現在の既存の自己成長の最大値よりも大きく、小さい場合は無効です
    alter table    auto_increment =

    ここでは、自己成長に関する修正操作を簡単に紹介しますが、意味はありません.拡張内容です.データベースでは、すべてのシステムの表現(文字セット、校正セット)がシステム内部の変数によって制御されています.コマンドでこれらの変数を表示できます.(ここでは自己成長について表示します)
    自己成長対応変数を表示するには、次の手順に従います.
    show variables likeauto_increment%;
    

    変数の変更は、単一のテーブルではなくデータベース全体を変更しますが、この変更はセッションレベルの変更です.
       set auto_increment_increment = n; //       n
    

    6.4自己成長の削除:自己成長をフィールド属性とし、modifyで変更可能(auto_incrementがないことを保証)
     Alter table    modify(
  • COMMENT:列の説明、実際の意味がなく、フィールドを説明するために専用で、表に基づいて文を作成して保存します.注釈と同様に、show create table ;を使用して表示します.
  •           comment ‘  ’;
    

    最後に、インデックスについて簡単に説明します.
  • ほとんどのインデックスは、フィールドの上に作成されています.
  • システムはあるアルゴリズムに基づいて、既存のデータ(将来追加可能なデータ)を単独でファイルを構築し、ファイルは迅速なマッチングデータを実現し、対応するテーブルの記録
  • を迅速に見つけることができる.
  • データベースは、データをクエリーするときにまず1つのデータを取り出してマッチングし、マッチングしないと1つのデータをマッチングし、マッチングに成功するまでデータをマッチングし続け、つまりテーブル全体のインデックスを取得し、データクエリーの効率を極めて低下させる.インデックスを追加すると、データベースはインデックス・ファイルで検索され、インデックス・ファイルが見つかった後、ディスク内のデータのローをデータベースに伝え、クエリーが必要なデータ
  • をローで直接検索します.
    インデックスの意味:
    1.クエリーデータの効率化2.制約データの有効性(一意性など)
    インデックスを追加する前提条件:
    インデックス自体がインデックスファイル(データファイルよりも大きい場合があります)を生成すると、ディスク領域が非常に消費され、効率とディスク領域の割合とみなされます.状況によります.フィールドをクエリー条件として頻繁に使用する必要がある場合は、インデックスを使用します(インデックスを増やして効率を向上させる方法を考えなければなりません).フィールドにデータの有効性制約が必要な場合は、インデックス(プライマリ・キー、ユニーク・キー)も使用できます.
    mysqlが提供するインデックス:
    1.プライマリ・キー・インデックス:primary key 2.ユニークインデックス:unique key 3.全文索引:fulltext index 4普通索引:index唯一索引を削除するときは普通索引に従って(drop index)全文索引:文章内部のキーワードに対して索引を行い、最大の弊害はどのようにキーワードを確定するか(英語は簡単:英語の単語の間に空格がある;中国語は難しい:スペースがなく、中国語は勝手に組み合わせることができる(分詞が必要:sphinx))
    さて、ここまで私达は今日mysqlデータベースの列の属性の简単な绍介に対して终わって、もし漏れがあるならば、やはり各位の先辈にご指导をお愿いします!!!