修改数据表: 添加单列:
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;