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