MySQL修改表结构操作命令总结

 更新时间:2014年12月02日 09:36:20   投稿:junjie   我要评论
这篇文章主要介绍了MySQL修改表结构操作命令总结,包含如删除列、添加列、修改列、添加主键、删除主键、添加唯一索引、添加普通索引等内容,需要的朋友可以参考下

表的结构如下:

复制代码 代码如下:

mysql> show create table person;
| person | CREATE TABLE `person` (
  `number` int(11) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `birthday` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

删除列:

复制代码 代码如下:

ALTER TABLE person DROP COLUMN birthday;

添加列:

复制代码 代码如下:

ALTER TABLE person ADD COLUMN birthday datetime;

修改列,把number修改为bigint:

复制代码 代码如下:

ALTER TABLE person MODIFY number BIGINT NOT NULL;

或者是把number修改为id,类型为bigint:

复制代码 代码如下:

ALTER TABLE person CHANGE number id BIGINT;

添加主键:

复制代码 代码如下:

ALTER TABLE person ADD PRIMARY KEY (id);

删除主键:

复制代码 代码如下:

ALTER TABLE person DROP PRIMARY KEY;

添加唯一索引:

复制代码 代码如下:

ALTER TABLE person ADD UNIQUE name_unique_index (`name`);

为name这一列创建了唯一索引,索引的名字是name_unique_index.

添加普通索引:

复制代码 代码如下:

ALTER TABLE person ADD INDEX birthday_index (`birthday`);

删除索引:

复制代码 代码如下:

ALTER TABLE person DROP INDEX birthday_index;
ALTER TABLE person DROP INDEX name_unique_index;

禁用非唯一索引

复制代码 代码如下:

ALTER TABLE person DISABLE KEYS;

ALTER TABLE...DISABLE KEYS让MySQL停止更新MyISAM表中的非唯一索引。

激活非唯一索引

复制代码 代码如下:

ALTER TABLE person ENABLE KEYS;

ALTER TABLE ... ENABLE KEYS重新创建丢失的索引。

把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集:

复制代码 代码如下:

ALTER TABLE person CONVERT TO CHARACTER SET utf8;

修改表某一列的编码

复制代码 代码如下:

ALTER TABLE person CHANGE name name varchar(255) CHARACTER SET utf8;

仅仅改变一个表的默认字符集

复制代码 代码如下:

ALTER TABLE person DEFAULT CHARACTER SET utf8;

修改表名

复制代码 代码如下:

RENAME TABLE person TO person_other;

移动表到其他数据库

复制代码 代码如下:

RENAME TABLE current_db.tbl_name TO other_db.tbl_name;

相关文章

  • mysql 数据库备份和还原方法集锦 推荐

    mysql 数据库备份和还原方法集锦 推荐

    本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22。
    2010-03-03
  • 简单了解标准SQL的update语句三种用法

    简单了解标准SQL的update语句三种用法

    这篇文章主要介绍了简单了解标准SQL的update语句三种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • MYSQL速度慢的问题 记录数据库语句

    MYSQL速度慢的问题 记录数据库语句

    Web程序慢,首先的一个检测对象就是数据库,写过几年程序的都知道。现在想追踪MySQL中那些拖累服务器性能的SQL语句,怎么办
    2012-06-06
  • 查找MySQL线程中死锁的ID的方法

    查找MySQL线程中死锁的ID的方法

    这篇文章主要介绍了查找MySQL线程中死锁的ID的方法,文中介绍的方法主要是从数据字典里查找,需要的朋友可以参考下
    2015-05-05
  • linux下安装mysql及mysql.sock问题

    linux下安装mysql及mysql.sock问题

    最近在linux上装mysql时遇到一些棘手的问题,百思不得其解,下面小编给大家带来了linux下安装mysql及mysql.sock问题,感兴趣的朋友一起看看吧
    2018-03-03
  • Java的Struts框架中的主题模板和国际化设置

    Java的Struts框架中的主题模板和国际化设置

    这篇文章主要介绍了Java的Struts框架中的主题模板和国际化设置,Struts是Java的SSH三大web开放框架之一,需要的朋友可以参考下
    2015-12-12
  • MYSQL GROUP BY用法详解

    MYSQL GROUP BY用法详解

    这篇文章主要为大家详细介绍了MYSQL GROUP BY用法,具有一定的实用性和参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • mysql varchar类型求和实例操作

    mysql varchar类型求和实例操作

    在本文里我们给大家分享了关于mysql varchar类型求和实例操作以及相关知识点,需要的朋友们学习参考下。
    2019-03-03
  • MySQL不停地自动重启的解决方法

    MySQL不停地自动重启的解决方法

    这篇文章主要给大家介绍了关于MySQL不停地自动重启的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • mysql 找回误删表的数据方法(必看)

    mysql 找回误删表的数据方法(必看)

    下面小编就为大家带来一篇mysql 找回误删表的数据方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03

最新评论