MySQLの制約(空でない、プライマリ・キー、一意、外部キー)
2253 ワード
拘束
* : , 、 。
* :
1. :primary key
2. :not null
3. :unique
4. :foreign key
* :not null, null
1.
CREATE TABLE stu(
id INT,
NAME VARCHAR(20) NOT NULL -- name
);
2. ,
ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
3. name
ALTER TABLE stu MODIFY NAME VARCHAR(20);
* :unique,
1. :
* NULL , null
2. ,
CREATE TABLE stu(
id INT,
phone_number VARCHAR(20) UNIQUE --
);
3.
ALTER TABLE stu DROP INDEX phone_number;
4. ,
ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
* :primary key。
1. :
1. :
2.
3.
2. ,
create table stu(
id int primary key,-- id
name varchar(20)
);
3.
-- alter table stu modify id int ;
ALTER TABLE stu DROP PRIMARY KEY;
4. ,
ALTER TABLE stu MODIFY id INT PRIMARY KEY;
5. :
1. : , auto_increment
2. , ,
create table stu(
id int primary key auto_increment,-- id
name varchar(20)
);
3.
ALTER TABLE stu MODIFY id INT;
4.
ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
* :foreign key, , 。
1. ,
* :
create table (
....
constraint foreign key ( ) references ( )
);
2.
ALTER TABLE DROP FOREIGN KEY ;
3. ,
ALTER TABLE ADD CONSTRAINT FOREIGN KEY ( ) REFERENCES ( );
4.
1.
:ALTER TABLE ADD CONSTRAINT
FOREIGN KEY ( ) REFERENCES ( ) ON UPDATE CASCADE ON DELETE CASCADE ;
2. :
1. :ON UPDATE CASCADE
2. :ON DELETE CASCADE