首 页
·
站长博客
·
用户注册
·
会员登陆
·
会员排行
·
最新主题
·
最近回复
☆
精华区
版权声明
·
论坛管理
当前登录身份:游客,请先登录。 笔名:
口令:
验证码:
楼 主
index
»
MYSQL/SQL语句/PHPMYADMIN专栏
»
[站长新作]6种常用alter table句法使用介绍
作者:
一起PHP
注册时间:2004-02-27
主题/回复:247/1521
积分:
4649
等级:★★★★★☆(十一级)
称号:论坛圣人
nqp@nqp.me
4304410
www.nqp.me
发表:2004-04-08 19:24:36 阅读
2708
次 回复
0
次 得分
0
|
字号
10px
12px
14px
16px
18px
20px
24px
字色
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
[站长新作]6种常用alter table句法使用介绍
近来,许多网友不断咨询有关alter table句法的使用知识。站长参考Mysql官方说明文档,将于此有关的内容整理介绍如下,希望对学习mysql的朋友有所帮助。
总的来说,alter table是一个用来改变现有表的结构的句法。例如,你可以添加或删除列,创建或撤销索引,更改现有列的类型或将列或表自身更名。你也可以改变表的注释和表的类型。
alter table的使用比较经常,而且使用方法也稍微有点复杂。当然,你可以使用什么样的alter table语句取决于你的mysql版本,Mysql并不支持所有的sql语句,所以,有些你在别的地方学习到的sql语句在这里可能完全行不通。所以,在介绍alter table之前,首先声明,我下面要介绍的内容是在mysql 4.0.12版本上的。至于哪些版本与这个版本兼容,就无从知晓了。所以,如果你在阅读本文时发现有些语句无法执行,那么请不要奇怪,一定是我们使用的Mysql版本不同。
好,下面开始介绍一下mysql的alter table语句的句法:
mysql官方说明文档中列举了全部alter table 句法,一共18种。在这里我们不一一介绍,只介绍其中比较常用的6种,如果您很有兴趣做更多的了解,可以参考Mysql官方说明文档或者Mysql帮助。
今天要介绍的ALTER TABLE 精简句法(注意:本句法被站长作了精简,并非原貌)
----------------------------------------------------------------------
ALTER TABLE 表名 修改语句 [附加语句]
[修改语句]和[附加语句]可以使用下面几种语句中的一种
1、 ADD [列] 列定义 [FIRST | AFTER 列名]
2、 ADD [列] (列定义1,列定义2.........)
3、 CHANGE [列] 列定义 [FIRST | AFTER column_name]
4、 MODIFY [列] 列定义 [FIRST | AFTER column_name]
5、 DROP [COLUMN] 列名
6、 RENAME [TO] 新表名
-------------------------------------------------------------------------
需要注意的是:
1、ALTER TABLE 通过建立原初表的一个临时副本来工作。更改在副本上执行,然后原初表将被删除,临时表被换名。这样做使所有的修改自动地转向到没有任何更新失败的新表。当 ALTER TABLE 执行时,原初表可被其它客户端读取。更新与写入被延迟到新的表准备好。
2、使用 ALTER TABLE,你需要在这个表上有 ALTER、INSERT 和 CREATE 权限。
3、你可以在单个的 ALTER TABLE 语句中发出多个 ADD、ALTER、DROP 和 CHANGE 子句。这是 MySQL 对 ANSI SQL92 的扩展,ANSI SQL92 只允许在每个 ALTER TABLE 语句中一个子句。
4、上面句法中的[列]是可选项,可以删除
下面举例子来说明上面六种句法的使用方法 :
1、ADD [列] 列定义 [FIRST | AFTER 列名] 为表增加一个新列
如:>>> alter table tb1 add user_name varchar(10) [first|after 列名]
上面语句中[]中间的内容为可选,first|after的意思是两者中可以选一个,作用是为新创建的列制定位置。如果不指定,则新创建的列在最后面。比如,我要把新创建的user_name列放在原来的id列之后,可以这么写:
>>> alter table tb1 add user_name varchar(10) after id
2、ADD [列] (列定义1,列定义2.........) 为表增加多个新列
如:>>> alter table tb1 add (user_name varchar(10),user_sex varchar(2))
这样,就同时增加了两个新列user_name,user_sex在表的末端。
注意,增加多个列时不能再使用after|first参数。13864964813
3、CHANGE [列] 列定义 [FIRST | AFTER column_name] 修改列的名称和定义
如:>>> alter table tb1 change user_name username varchar(20)
这个语句将user_name 改名为username并将字段长度重定义为20
4、 MODIFY [列] 列定义 [FIRST | AFTER column_name] 修改列的定义
如:>>>alter table tb1 modify username varchar(200)
这个语句把username列的长度修改为200字节
5、DROP [COLUMN] 列名 从表中删除一列
如:>>> alter table tb1 drop username
6、RENAME [TO] 新表名 修改表名称
如:>>> alter table tb1 rename tb2
这个语句把tb1改名为tb2
以上简要列举了6种常用的alter语句句法。刚才站长说了,还有12种句法没有介绍。感兴趣的朋友可以自己查阅有关资料。
希望这篇文章对您有所帮助。
页数
1/1
:
首页
«
1
»
末页
发表回复:您还没有登陆,无法发表回复。请先
[登陆]
一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565
站长博客
E-mail:
nqp@nqp.me
执行时间:0.006sec
SimsmaBBS 2008 (v6.0)
Developed by
17php.com
,Copyright(C)2003-2010 All rights reserved. 副本授权:
一起PHP官方专用版