日期:2014-05-16 浏览次数:20683 次
在MySQL v5.1和v5.5下测试部分方法不起作用。
?
数据表改名
?
ALTER TABLE `x_table` RENAME TO `y_table`;
字段改名
ALTER TABLE `x_table` RENAME `a_field` TO `b_field`;
修改字段
?
ALTER TABLE `x_table` CHANGE `a_field` `a_field` varchar(40) NOT NULL DEFAULT '' COMMENT '密码';
部分修改字段
?
ALTER TABLE `x_table` CHANGE `a_field` SET NULL DEFAULT NULL; -- 这两个方法不正确
ALTER TABLE `x_table` CHANGE `a_field` DROP DEFAULT;
增加字段
?
ALTER TABLE `x_table` ADD `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID' FIRST;
ALTER TABLE `x_table` ADD `b_field` varchar(40) NOT NULL DEFAULT '' COMMENT '密码' AFTER `a_field`;
删除字段
?
ALTER TABLE `x_table` DROP `a_field`;
修改主键自增值
?
ALTER TABLE `x_table` AUTO_INCREMENT=1;
或者另一个方法
?
OPTIMIZE TABLE `x_table`; ?-- 此方法无效
AUTO_INCREMENT 的值只会大于或等于 最大id + 1
当设置的AUTO_INCREMENT比上面值还小时,会自动被设置为 最大id + 1
更改主键或索引
?
ALTER TABLE `x_table` DROP PRIMARY KEY (`id`);
ALTER TABLE `x_table` ADD KEY `m_index` (`m_field`) USING BTREE; -- Unique index