建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > MYSQL学习 > mysql怎么修改表

mysql怎么修改表

时间:2015-04-01 16:52:07  来源:免费模板网 作者:风雪 阅读次数 tagsmysql基础

修改表(ALTER TABLE)

修改表是指修改表的结构,在实际应用中,当发现某个表的结构不满足要求时,可以用ALTER TABLE语句来修改表的结构,包括添加新的字段、删除原有的字段、修改列的类型、属性及索引,甚至可以修改表的名称等。修改表的语法如下所示:

ALTER TABLE 表名 ACTION;#修改表的语法格式

其中ACTION是ALTER TABLE的从句,包括为指定的表添加一新列、为表添加一个索引、更改指定默认值、更改列类型、删除一列、删除索引、更改表名等语句。下面将简单介绍几种常用的方式。

★为指定的数据表添加一新字段,可以在ACTION从句中使用ADD关键字实现,语法格式如下所示:

ALTER TABLE 表名 ADD 字段名 <建表语句> [FIRST|AFTER 列名]                           #为指定的表添加新列

如果没有指定可选的FIRST或AFTER,则在列尾添加一列,否则在指定列添加新列。例如,为上面创建的用户表users列尾添加一个E-mail字段,则在MySQL控制台中输入的命令如下所示:

mysql>ALTER TABLE users ADD email VARCHAR(30) NOT NULL;

如果需要为用户表users,在第一列前面添加一个真实姓名(name)的新列,列类型为字符串,属性设置为非空。并在原有的字段userpass之后添加一个身高(height)的新列,列类型为DOUBLE,属性为非空并设置默认值为0.00,。则在MySQL控制台中输入的命令如下所示:

  1. mysql>ALTER TABLE users ADD name VARCHAR(30) NOT NULL FIRST;//开源代码phpfensi.com 
  2. mysql>ALTER TABLE users ADD height DOUBLE NOT NULL DEFAULT ’0.00′ AFTER userpass; 

★为指定的数据表为了更改原有字段的类型,可以使用CHANGE或MODIFY子句,如果原列的名字和新列的名字相同,则change和Modify的作用相同,语法格式如下所示:

ALTER TABLE 表名 CHANGE(MODIFY) 列表 <建表语句>  #为指定的表修改列类型

如果需要修改用户表users中的电话号码字段telNo,将列类型VARCHAR(20)改为数值类型INT,并将默认值设置为0.则可以在MySQL控制台中共输入的命令如下所示:

mysql>ALTER TABLE users MODIFY telno INT UNSIGHED DEFAULT ’0′;

mysql>ALTER TEBLE users CHANGE telno telno INT UNSIGNED DEFAULT ’0′;

在CHANGE命令中的列名telno出现了两次,原因是CHANGE除了更改类型外还能更改列名,在MODIFY不能实现这个功能。如果希望在更改类型的同时重新将telno命名为phone,可按如下命令进行操作。

mysql>ALTER TABLE users CHANGE telno phone INT UNSIGNED DEFAULT ’0′;

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

★如果需要为指定的数据表重新命名,可使用RENAME AS 子句,给出旧表名和新表名即可,语法格式如下所示:phpfensi.com

ALTER TABLE 旧表名 RENAME AS 新表名  #为指定的数据表重新命名

本文地址:https://www.freemoban.com/mysql/2015/0401/1154.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!