MySQLの操作データテーブル2
6496 ワード
本文はMySQLの作成と操作データテーブルの後続部分です.
テーブルを作成し、INSERTデータを作成すると、すべてのフィールドの各行にレコードが追加されるわけではありません.そのため、値の中には空の値がある可能性があります.いくつかの操作でフィールドが空の値であるかどうかを制御できます.もちろん、身分証明書番号のように一意の値もありますが、いくつかの操作で一意性を制御する必要があります.
NULLとNULL以外(NULL以外の制約)NULLとNOT NULLの定義がNULLでないかどうかは、テーブルの作成時に決定されます.
例:
上記で作成するルールを背景に、
データの一意性データの一意性は、主にいくつかのキー(KEY)によって達成されるPRIMARY KEY(プライマリ・キー制約)
拡張:AUTO_INCREMENT自動番号で、かつプライマリ・キーと組み合わせて使用する必要があるデフォルトでは、開始値は1であり、毎回の増分は1でAUTO_を使用できます.INCREMENTのデータ型は整数であってもよいし、浮動小数点数であれば小数位数は0でなければならない.すなわち、FLOAT(8,0)、FLOAT(6,0)のようなものである.AUTO_INCREMENTはプライマリ・キーと一緒に使用する必要がありますが、プライマリ・キーはAUTO_と必ずしも使用する必要はありません.INCREMENTと併用.
例:
UNIQUE KEY(一意の拘束)・一意制約レコードの一意性が保証される・一意制約のフィールドは、Null値(NULL)であってもよい(Nullでなくても重複しない)・各データテーブルに複数の一意制約が存在してもよい例えば、
別のキーを追加:DEFAULT(デフォルト制約)・デフォルト・レコードを挿入すると、フィールドに明示的に値が割り当てられていない場合は、自動的にデフォルト値が与えられます.
例:
プライマリ・キー制約の追加
プライマリ・キー制約の削除
ユニークコンストレイントの追加
ユニークコンストレイントの削除
既定のコンストレイントの追加/削除
プライマリ・キー制約とユニーク制約のキーワードはADDとDROPです.デフォルトの制約のキーワードはALTER...SETとALTER....DROP.
テーブルを作成し、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(一意の拘束)
->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.