一、主键,外键和唯一键
1.新增
语法如下:
alter table [table_name] add constraint [constraint_name] [unique key| primary key| foreign key] ([column_name])
代码示例:
mysql> create table class(id int,name varchar(64)); #创建表
mysql> desc class; #描述表
mysql> alter table class add constraint id_name primary key(id); #对id字段设为主键并起别名为id_name
mysql> desc class; #描述表与上面可以做对比
首先任意创建一个表:
然后为其中一个字段增加约束条件:
这里改变了字段id的约束条件,将其约束条件设为主键,外键和唯一键同理。
2.删除
2.1通过如下命令可查询键值的约束名:
show index或key from 表名。
2.2执行如下命令删除:
主键:alter table 表名 drop primary key;
外键或唯一键:alter table 表名 drop index 约束名;
接上一个表将字段id主键约束条件删除代码如下:
mysql> desc class; #描述表
mysql> alter table class drop primary key; #将id字段的主键约束删掉
mysql> desc class; #描述表与上面的可以作对比
删除后,对比后可以发现key这一列没有约束。
3.修改
按照上述步骤,先执行删除然后再新增既可。
二、修改默认值DEFAULT,自增长和非空
语法如下:
alter table 表名modify 列明 类定义;
接上一个表,已知表中字段id和name没有受任何约束条件,下面我们对name字段进行默认值和非空的约束。
代码如下:
mysql> alter table class modify name varchar(64) default 'Mr.Wang' NOT NULL; #将name字段增加默认值和非空约束
mysql> desc class; #描述表与上面做对比
则可发现NULL这一列和default这一列发生了变化变为非空和默认值约束。