Mysql修改约束,列信息,表信息

修改数据表:
添加单列:

ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER column];
(默认在末尾)

例如在usename后面添加列:

alter table users1 add password varchar(20) not null after username

在所有列的最前面添加列
alter table users1 add password varchar(20) not null first;

添加多列:ALTER TABLE tbl_name ADD [COLUMN] (col_name col_definition,...);(无法指定位置,只能在末尾)

删除单列:ALTER TABLE tbl_name DROP [COLUMN] col_name;

例如:
alter table users1 drop truename;
删除多列:ALTER TABLE tbl_name DROP [COLUMN] col_name,DROP [COLUMN] col_name,...;

创建一个测试的表

create table users2(
usename varchar(20) not null,
pid smallint unsigned);
增加列
alter table users2 add id smallint unsigned;

添加主键约束

标准:
**ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name....);
symbol为PRIMARY KEY的别名。**

例子:
alter table users2 add constraint pk_users2_id PRIMARY KEY(id);

添加唯一约束

alter table users2 add unique(username);

添加外键约束

alter table users2 add foreign key(pid) references provinces(id);

添加/删除默认约束

alter table users2 add age tinyint unsigned not null;//添加一列
添加默认约束
alter table users2 alter age set default 15;
删除默认约束
alter table users2 alter age drop default;

删除主键约束

alter table users2 drop primary key;

删除唯一约束

alter table users2 drop index username;//删除的是约束,而不是字段

删除外键约束

先查询外键名字
show create table users2;
alter table users2 drop foreign key users2_ibfk_1;

修改列定义

修改位置

alter table users2 modify id smallint unsigned not null first;

修改类型

alter table users2 modify id tinyint unsigned not null;

修改列的名称,从pid 改为 p_id

alter table users2 change pid p_id tinyint unsigned not null;

修改数据表的名字

alter table users2 rename users4;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值