データベース列のプロパティ

4104 ワード

列のプロパティ:実際の制約フィールドはデータ型ですが、データ型の制約は単一で、データの正当性をより保証するために追加の制約が必要です.列のプロパティには、NULL/NOT NULL、default、Primary key、unique key、auto_がたくさんあります.increment, comment
空の属性
2つの値:NULL(デフォルト)とNOT NULL(空ではない)が実際に開発された場合、できるだけすべてのデータが空であるべきではないことを保証し、空のデータは意味がなく、空のデータは演算に参加できません.例:
create table my_class(
name varchar(20) not null, 
room varchar(20) null  --     ,    
)charset utf8;

プライマリキー
Primary key、1枚のテーブルには1つのフィールドしか対応するキーを使用できません.このフィールドのデータを一意に制約し、繰り返すことはできません.
1.プライマリ・キーの追加
  • イニシアチブ1:テーブル作成時、フィールドの直後にprimary keyキーワード(プライマリ・キー自体が空であることは許されない)との利点:非常に直接的;欠点:プライマリ・キーとして1つのフィールドしか使用できないこと.
  • イニシアチブ2:テーブルの作成時に、すべてのフィールドの後にprimary key(プライマリ・キー・フィルタ・リスト)を使用してプライマリ・キーを作成する(複数のフィールドがプライマリ・キーであれば複合プライマリ・キーであってもよい).
  • --    
    create table my_pri(
    number char(10) comment '  :itcast + 0000',
    course char(10) comment '    ',
    score tinyint unsigned default 60 comment '  '
    --      :           ,     
    primary key(number,course)
    )charset utf8;
    
  • シナリオ3:テーブルが作成された後、再度プライマリ・キーを追加し、テーブル・フィールドの属性を変更したり、直接追加したりすることができます.alter tableテーブル名modifyフィールド名タイプ属性alter tableテーブル名add primary key(フィールドリスト);前提:プライマリ・キーとして、テーブル内のフィールドに対応するデータ自体が独立(重複しない)
  • 2.プライマリ・キー制約
    プライマリ・キーに対応するフィールドのデータは重複できません.重複すると、データ操作が失敗します(増減).
    3.主キー削除
    alter tableテーブル名drop primary key;
    デフォルト
    ≪デフォルト|Defaults|emdw≫:データに特定の値が頻繁に表示され、最初から指定できます.実際のデータが必要な場合、ユーザーはデフォルト値を選択的に使用できます.デフォルトキーワード:default
    create table my_default(
    name varchar(20) not null,
    age tinyint unsigned default 0,
    gender enum(' ', ' ', '  ') default ' '
    )charset utf8;
    

    ≪デフォルト値の有効化|Defaults Valid|oem_src≫:データを挿入するときに、このフィールドに値を割り当てません.デフォルト値を使用するには、必ずしもリストを指定する必要はありません.フィールドリストをわざと使用しないで、値の代わりにdefaultキーワードを使用します.
    列の説明
    列の説明:comment、説明、実際の意味はありません:フィールドを説明するために使用され、テーブルに基づいて文を作成して保存し、プログラマ(データベース管理者)に理解させるために使用されます.
    create table my_teacher(
    name varchar(20) not null comment '   ',
    money decimal(10, 2) not null comment '  '
    )charset utf8;
    

    自己成長
    auto_incrementの自己成長は通常、プライマリ・キーと組み合わせる特徴があります.
  • いずれかのフィールドが自己成長するにはインデックスであることを前提としている(keyの欄に値がある)
  • 自己成長フィールドは数字(整数)でなければならない
  • 1枚あたり最大1個の自己成長のみ
  • 1.自己成長の作成
    create table my_autoincrement(
    id int primary key auto_increment comment '       ',
    name varchar(10) not null comment '  '
    )charset utf8;
    

    2.自己成長の使用
    自己成長がNULLまたはデフォルト値として指定されると、自動成長がトリガーされます.自己成長の最初の要素のデフォルトは1で、毎回自己増加1です.自己成長対応するフィールドに値が入力されている場合、自己成長は失効しますが、次回は正しい自己成長(最大値+1)が可能です.
    3.自己成長の修正
    自己成長フィールドの変更に関連する場合は、まず削除する必要があります.後の増加(1つのテーブルに1つの自己成長しかない)現在の自己成長がすでに存在する値を変更します.変更は現在の自己増加の最大値よりも大きく、alter tableテーブル名auto_increment=値を小さくすることはできません(小さくて有効ではありません).(表のオプションを直接変更)自己成長変数文を表示します.show variable like'auto_increment%'です.自己成長の初期値とステップ長を変更することもできます(意味はありません)
    4.自己成長の削除
    自己成長はフィールドの属性であり、modifyによって変更することができる(フィールドにauto_incrementがないことを保証すればよい)alter tableテーブル名modifyフィールドタイプである.
    ユニークキー
    1つのテーブルには多くのフィールドが一意性を持ち、データが重複できないことが多いが、1つのテーブルに1つのプライマリ・キーしかなく、ユニーク・キー(unique key)はテーブル内の複数のフィールドが一意性制約を必要とする問題を解決することができる.ユニーク・キーの本質はプライマリ・キーとあまり差がなく、ユニーク・キーのデフォルトの許容は自動的に空であり、複数の空(空のフィールドは一意性比較に関与しない)
    1.一意キーを追加
  • シナリオ1:テーブル作成時、フィールドの後にunique/unique keyと直接
  • シナリオ2:すべてのフィールドの後にunique key(フィールドリスト)を追加し、ユニークなキーを複合する.
  • シナリオ3:テーブル作成後にユニークキーを追加する(方式はプライマリ・キーと同じ)
  • 2.一意キー制約
    ユニーク・キーはプライマリ・キーと本質的に同じで、ユニーク・キーのデフォルトでは空が許可され、複数が空であることが唯一の違いです.ユニークキーもnot nullに設定されている場合、プライマリキーのコンストレイントと一致します.
    3.一意キーの削除
    ユニークキーは複数あります.Alter tableテーブル名drop indexインデックス名;--ユニークキーのデフォルトでは、インデックス名としてフィールド名が使用されます.
    索引
    ほとんどのインデックスはフィールド上に作成されています.インデックス:システムはあるアルゴリズムに基づいて、既存のデータ(将来追加される可能性のあるデータ)を単独でファイルを構築し、ファイルは迅速な一致データを実現し、対応するテーブルの記録を迅速に見つけることができる.
    インデックスの意味:1、クエリー・データの効率化2、制約データの有効性(一意性など)インデックスを増やす前提条件:インデックス自体がインデックス・ファイル(データ・ファイルよりも大きい場合もある)を生成し、ディスク・スペースを非常に消費します.Mysqlには複数のインデックスが用意されています.
  • プライマリ・キー索引:primary key
  • ユニークインデックス:unique key
  • 全文索引:fulltext index
  • 一般索引:index
  • 全文索引:文章内部のキーワードに対して索引を行う