MySQL 修改表的相关操作

//主键

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);

//删除列

alter table t2 drop column c;

//重命名列

alter table t1 change a b integer;

//改变列的类型

alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';

//重命名表

alter table t1 rename t2;

//加索引

mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);

//加主关键字的索引

mysql> alter table tablename add primary key(id);

//加唯一限制条件的索引

mysql> alter table tablename add unique emp_name2(cardnumber);

//删除某个索引

mysql>alter table tablename drop index emp_name;

//修改表:

//增加字段:

mysql> ALTER TABLE table_name ADD field_name field_type;

//修改原字段名称及类型:

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

//删除字段:

mysql> ALTER TABLE table_name DROP field_name;

//级联更新和删除

DROP TABLE IF EXISTS `mail_model`;
create table mail_model(
id varchar(50) primary key not null ,
mail_filename varchar(200),

content varchar(2000)
)ENGINE=InnoDB DEFAULT CHARSET=gbk;
DROP TABLE IF EXISTS `mail_model_extend`;
create table mail_model_extend(
id int(6) auto_increment not null primary key,
rid varchar(50) not null,
content varchar(2000),
INDEX (RID),
FOREIGN KEY (RID) REFERENCES mail_model(ID) ON DELETE CASCADE ON UPDATE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=gbk;
posted @ 2012-05-13 17:16  我是小菜鸟  阅读(280)  评论(0编辑  收藏  举报