Mysql入门系列:MYSQL创建、删除、索引和更改表
2006-12-31 10:46:46 来源:WEB开发网3.4.4 ALTER TABLE 语句
ALTER TABLE 语句是MySQL中一条通用的语句,可用它来做许多事情。我们已经看过了它的几种功能(创建和删除索引以及将表从一种存储格式转换为另一种存储格式)。本节中,我们将介绍它的一些其他功能。ALTER TABLE 的完整语法在附录D 中介绍。
在发现某个表的结构不再反映所希望的东西时, ALTER TABLE很有用处。可能希望用该表记录其他信息,或者它含有多余的值。或者有的列太小,或者其定义较实际需要来说太大,需要将它们改小以节省存储空间。或者发布CREATE TABLE 语句时给出的表名不对。等等,诸如此类的问题,都可以用ALTER TABLE 语句来解决。下面是一些例子:
■ 您正操纵一个基于Web 的问卷,将每份提交的问卷作为表中的一个记录。后来决定修改此问卷,增加一些问题。这时必须对表增加一些列以存放新问题。
■ 您正在管理一个研究项目。用AUTO_INCREMENT 列分配案例号来研究记录。您不希望经费延期太长产生多于50 000 个以上的记录,因此,令该列的类型为UNSIGNED SMALLINT,它能存储的最大惟一值为65 535。但是,项目的经费延长了,似乎可能另外产生50 000 个记录。这时,需要使该列的类型更大一些以便存储更多的件号。
■ 大小的更改也可能是反方向的。可能创建了一个CHAR(255) 列,但现在发现表中没有比100 个字符更长的串。这时可缩短该列以节省存储空间。ALTER TABLE 的语法如下:
每个action 表示对表所做的一个修改。MySQL扩充了ALTER TABLE 语句,允许指定多个动作,各动作间以逗号分隔。这对于减少键盘输入很有用,但这个扩充的更为重要的原因是,除非能同时将所有VARCHAR 列更改为CHAR 列,否则不可能将表从行可变长的表更改为行定长的表。
更多精彩
赞助商链接