Mysql数据库表结构修改命令大全一、原表的结构如下:
CREATE TABLE person(
number int(11) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
birthday date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
二、表结构修改及代码
2.1 删除列birthday
ALTER TABLE person DROP COLUMN birthday;
2.2 添加列birthday
ALTER TABLE person ADD COLUMN birthday datetime;
2.3 修改列number类型为bigint
ALTER TABLE person MODIFY number BIGINT NOT NULL;
2.4 修改列number为id,类型为bigint
ALTER TABLE person CHANGE number id BIGINT;
2.5 添加主键
ALTER TABLE person ADD PRIMARY KEY (id);
2.6 删除主键
ALTER TABLE person DROP PRIMARY KEY;
2.7 添加唯一索引
为name这一列创建了唯一索引,索引的名字是name_unique_index.
ALTER TABLE person ADD UNIQUE name_unique_index (`name`);
2.8 添加普通索引
ALTER TABLE person ADD INDEX birthday_index (`birthday`);
2.9 删除索引
ALTER TABLE person DROP INDEX birthday_index;
ALTER TABLE person DROP INDEX name_unique_index;
2.10 禁用非唯一索引
ALTER TABLE...DISABLE KEYS让MySQL停止更新MyISAM表中的非唯一索引。
ALTER TABLE person DISABLE KEYS;
2.11 激活非唯一索引
ALTER TABLE ... ENABLE KEYS重新创建丢失的索引。
ALTER TABLE person ENABLE KEYS;
2.12 把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集
ALTER TABLE person CONVERT TO CHARACTER SET utf8;
2.13 修改表某一列的编码
ALTER TABLE person CHANGE name name varchar(255) CHARACTER SET utf 8;
2.14 仅仅改变一个表的默认字符集
ALTER TABLE person DEFAULT CHARACTER SET utf8;
2.15 修改表名
RENAME TABLE person TO person_other;
2.16 移动表到其他数据库
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;。