约束(修饰符)

约束(修饰符)
null 
not null
    当一个字段被设置不能为空(not null)但是又没有给设置值的时候会按不同类型给与默认值
        数值  0      
        字符串  空   
        enum  第一个预定义值
        timestamp   当前时间

default 
    mysql> alter table t2 modify id int not null default 8;
    
unique(key)
    mysql> alter table t2 modify id int unique;
    mysql> alter table t200 drop index id;     //删除

auto_increment      自增
    mysql> create table t4(id int unique auto_increment,name char(10));

primary key(key)
    每张表里只能有一个主键
    不能为空,而且唯一
   
    mysql> create table t7(hostname char(20) primary key,ip char(150));
    mysql> create table t9(hostname char(20),ip char(150),primary key(hostname));
   
   联合主键
    mysql> create table t9(hostname char(20),ip char(150),primary key(hostname,ip));
    
    mysql> alter table t101  drop  primary key;   //删除主键

index(key)
    索引   优化查询速度
    创建索引:三种
    mysql> create table t100(hostname char(20) primary key,ip char(150),index (ip));

    mysql> create table t101(hostname char(20) primary key,ip char(150),index dizhi(ip));
    
    mysql> create index dizhi on t105(ip);
    
    删除索引:
    mysql> alter table t101  drop  index dizhi;   //删除index索引
        
外键foreign key (key)
    mysql> create table t1(id int,manager char(10) primary key) engine = innodb;
    mysql> create table t2(id int,admin char(10),foreign key (admin) references  t1 (manager)) 
    engine = innodb ;
    mysql> create table xingzheng(id int,admin char(10),foreign key (admin) references 
    guanli(manager) on delete cascade)  engine = innodb;

你可能感兴趣的:(约束(修饰符))