mysql修改表结构命令大全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;