1删除,添加或修改表字段
mysql> ALTER TABLE testalter_tbl DROP i;--删除字段i
mysql> ALTER TABLE testalter_tbl ADD i INT;--添加字段i 默认在表末尾添加
--可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;--在表开头添加
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;--在某字段后添加
2修改字段类型
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
--使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
--修改字段时可指定默认值
mysql> ALTER TABLE testalter_tbl MODIFY j BIGINT NOT NULL DEFAULT 100;
--单独修改默认值
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
3修改表名
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
4修改存储引擎
alter table tableName engine=myisam;
5删除外键约束
alter table tableName drop foreign key keyName;
6修改字段相对位置
alter table tableName modify name1 type1 first|after name2;
7使用ALTER 命令添加和删除索引
有四种方式来添加数据表的索引:
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。
ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。
ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现多次。
ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。
8使用 ALTER 命令添加和删除主键
主键只能作用于一个列上,添加主键索引时,你需要确保该主键默认不为空(NOT NULL)。实例如下:
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);