MySQLの操作データテーブル2


本文はMySQLの作成と操作データテーブルの後続部分です.
テーブルを作成し、INSERTデータを作成すると、すべてのフィールドの各行にレコードが追加されるわけではありません.そのため、値の中には空の値がある可能性があります.いくつかの操作でフィールドが空の値であるかどうかを制御できます.もちろん、身分証明書番号のように一意の値もありますが、いくつかの操作で一意性を制御する必要があります.
NULLとNULL以外(NULL以外の制約)NULLとNOT NULLの定義がNULLでないかどうかは、テーブルの作成時に決定されます.
例:
    ->CREATE TABLE tb2(
    ->username VARCHAR(20) NOT NULL,
    ->age TINYINT NULL(    ,       )
    ->); 

上記で作成するルールを背景に、
    INSERT tb2 VALUES(NULL,20);      ,   !
    INSERT tb2 VALUESI('PITBULL',20);

データの一意性データの一意性は、主にいくつかのキー(KEY)によって達成されるPRIMARY KEY(プライマリ・キー制約)
            username     ,username       ,             。    
         :  
    ·               
    ·           
    ·     NOT NULL(                  )    

拡張:AUTO_INCREMENT自動番号で、かつプライマリ・キーと組み合わせて使用する必要があるデフォルトでは、開始値は1であり、毎回の増分は1でAUTO_を使用できます.INCREMENTのデータ型は整数であってもよいし、浮動小数点数であれば小数位数は0でなければならない.すなわち、FLOAT(8,0)、FLOAT(6,0)のようなものである.AUTO_INCREMENTはプライマリ・キーと一緒に使用する必要がありますが、プライマリ・キーはAUTO_と必ずしも使用する必要はありません.INCREMENTと併用.
例:
->CREATE TABLE tb3(
->id TINYINT AUTO_INCREMENT PRIMARY KEY,
->name VARCHAR(20)
->);

UNIQUE KEY(一意の拘束)
  • ・一意制約レコードの一意性が保証される・一意制約のフィールドは、Null値(NULL)であってもよい(Nullでなくても重複しない)・各データテーブルに複数の一意制約が存在してもよい例えば、
  • ->CREATE TABLE tb4(
    ->id TINYINT UNIQUE KEY,
    ->name VARCHAR(20)
    ->);      

    別のキーを追加:DEFAULT(デフォルト制約)・デフォルト・レコードを挿入すると、フィールドに明示的に値が割り当てられていない場合は、自動的にデフォルト値が与えられます.
    例:
    ->CREATE TABLE tb5(
    ->id TINYINT ,
    ->name VARCHAR(20) DEFAULT 'EMINEM'
    ->);

    プライマリ・キー制約の追加
    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]]PRIMARY KEY[index_type](index_col_name,...);ALTER TABLE users2 ADD CONSTRANT PK_users2_id PRIMARY KEY(id); PK(     )
    ALTER TABLE users2 ADD PRIMARY KEY(id);

    プライマリ・キー制約の削除
    ALTER TABLE tbl_name DROP PRIMARY KEY;
    (       ,               PRIMARY KEY)
      :
    ALTER TABLE users2 DROP PRIMARY KEY;

    ユニークコンストレイントの追加
    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]]UNIQUE [INDEX|KEY][index_name][index_type](index_col_name,...);ALTER TABLE users2 ADD UNIQUE (username);

    ユニークコンストレイントの削除
    ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;ALTER TABLE users2 DROP INDEX username;

    既定のコンストレイントの追加/削除
    ALTER TABLE tbl_name ALTER[COLUMN] col_name
    {SET DEFAULT literal|DROP DEFAULT};ALTER TABLE users2 ALTER age SET DEFAULT 20;
    ALTER TABLE users2 ALTER age DROP DEFAUL;

    プライマリ・キー制約とユニーク制約のキーワードはADDとDROPです.デフォルトの制約のキーワードはALTER...SETとALTER....DROP.