MySQLプライマリ・キー制約、NULL以外の制約、一意の制約、外部キー制約
7030 ワード
MySQLプライマリ・キー制約、NULL以外の制約、一意の制約、外部キー制約概念:テーブル内のデータを制約(限定)し、データの正確性、有効性、完全性を保証する 分類: プライマリ・キー制約:primary key 非空拘束:not null 一意制約:unique 外部キー制約:foreign key primary key:プライマリ・キー制約 の意味:一意かつ非空 テーブルには、プライマリ・キー のフィールドが1つしかありません.プライマリ・キーは、テーブルに記録する一意の識別子 である.テーブルの作成時にプライマリ・キー を追加テーブルを作成したら、プライマリ・キー を追加します.プライマリ・キー制約 を削除する.
not null:Null以外の制約 追加カラムデータはNULL にはできません.テーブルの作成時に、空でない制約 を追加する.テーブルの作成後、空でない制約 を追加します.プライマリ・キー制約 を削除する.
unique:一意の制約 カラムデータの追加 を繰り返すことはできません.はNULL値を持つことができますが、 は1つしかありません.テーブルの作成時に一意制約 を追加テーブルを作成したら、一意制約 を追加します.一意制約 を削除する.
foreign key:外部キー制約 テーブルの作成時に外部キー制約 を追加する.テーブルを作成した後、外部キー を追加します.外部キー を削除する.カスケード操作 カスケード操作 を追加する.カスケード更新:ON UPDATE CASCADE カスケード削除:ON DELETE CASCADE
CREATE TABLE student(
s_id int primary key, -- s_id
name varchar(20)
);
ALTER TABLE student MODIFY id INT PRIMARY KEY;
ALTER TABLE student DROP PRIMARY KEY;
CREATE TABLE student(
s_id int,
name varchar(20) NOT NULL --name
);
ALTER TABLE student MODIFY name VARCHAR(20) NOT NULL;
ALTER TABLE student MODIFY name VARCHAR(20);
CREATE TABLE student(
s_id int,
phone varchar(20) NUIQUE --phone
);
ALTER TABLE student MODIFY phone VARCHAR(20) UNIQUE;
ALTER TABLE student DROP INDEX phone;
CREATE TABLE (
...
,
CONSTRAINT FOREIGN KEY ( ) REFERENCE ( );
);
ALTER TABLE ADD CONSTRAINT FOREIGN KEY ( ) REFERCES ( );
ALTER TABLE DROP FOREIGN KEY ;
ALTER TABLE ADD CONSTRAINT FOREIGN KEY ( ) REFERCES ( ) ON UPDATE CASCADE ON DELETE CASCADE;