科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Mysql入门系列:MYSQL创建、删除、索引和更改表11

Mysql入门系列:MYSQL创建、删除、索引和更改表11

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Mysql入门系列:MYSQL创建、删除、索引和更改表

作者:ddvip 来源:ddvip 2009年12月23日

关键字: Schema PHP MySQL

  • 评论
  • 分享微博
  • 分享邮件

Mysql入门系列:MYSQL创建、删除、索引和更改表11

 

下面的例子示出了某些ALTER TABLE 的功能。

  ■ 对表重新命名。这很简单;只需给出旧表名和新表名即可:

  

  在MySQL3.23 中有临时表,重命名一个临时表为数据库中已经存在的名称将隐藏原始表,只要临时表存在就会隐藏原始表。这类似于通过用相同的名字创建一个临时表来隐藏一个表的方法。

  ■ 更改列类型。为了更改列的类型,可使用CHANGE 或MODIFY 子句。假如表my _ t b l中的列为SMALLINT UNSIGNED 的,希望将其更改为MEDIUMINT UNSIGNED 的列。用下面的任何一个命令都可完成此项工作:

  

  为什么在CHANGE 命令中给出列名两次?因为CHANGE 可以做的而MODIFY 不能做的一桩事是,除了更改类型外还能更改列名。如果希望在更改类型的同时重新将i 命名为j,可按如下进行:

  

  重要的是命名了希望更改的列,并说明了一个包括列名的列的完整定义。即使不更改列名,也需要在定义中包括相应的列名。

  更改列类型的一个重要原因是为了改善比较两个表的连接查询的效率。在两个列的类型相同时,比较更快。假如执行如下的查询:

  

  如果t1.name 为CHAR( 10 ),而t2.name 为CHAR( 15 ),此查询的运行速度没有它们两者都为CHAR(15) 时的快。那么可以用下面的任一条命令更改t1.name 使它们的类型相同:

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章