WEB开发网
开发学院数据库MySQL Mysql入门系列:MYSQL解决方案随笔 阅读

Mysql入门系列:MYSQL解决方案随笔

 2006-12-31 10:46:19 来源:WEB开发网   
核心提示: 3.8.4 增加序列号列如果用ALTER TABLE 增加AUTO_INCREMENT 列,则该列用序列号自动地填充,Mysql入门系列:MYSQL解决方案随笔(5),下面这组mysql会话中的语句示出了怎样创建一个表,在其中存放数据,其中一列存放计数值;另一列存放计数器名,这时仍然可以使

3.8.4 增加序列号列

如果用ALTER TABLE 增加AUTO_INCREMENT 列,则该列用序列号自动地填充。下面这组mysql会话中的语句示出了怎样创建一个表,在其中存放数据,然后增加一个AUTO_INCREMENT 列:

 3.8.5 对某个已有的列进行排序

 如果有一个数值列,可对其按如下进行排序(或对其重排序,如果已对其排过序,但删除了行并且想要对值重新排序使其连续):

 ALTER TABLE t MODIFY i INT NULL

 UPDATE t SET i = NULL

 ALTER TABLE t MODIFY i INT UNSIGNEDAUTO_INCREMENT NOT NULL PRIMARY KEY

但是有一种更容易的方法,那就是删除该列,然后再作为一个AUTO_INCREMENT 列追加它。ALTER TABLE 允许指定多个活动,因此,上述工作可在单个语句中完成:

ALTER TABLE t

DROP i,

ADD i INT UNSIGNEDAUTO_INCREMENT NOT NULL PRIMARY KEY

3.8.6 非正常次序的串

假如有一个表示体育机构人员的表,如橄榄球队,如果按人员职位进行排序,以便以特殊的顺序表示它,如:教练、教练助理、四分卫、流动后卫、接球员、巡逻员等。可将列定义为ENUM 并按希望出现的顺序定义枚举元素。对该列的排序将会以所指定的顺序自动进行。

3.8.7 建立计数表

在第2章的“使用序列”小节中,我们介绍了怎样利用L A S T _ INSERT_ID(expr) 生成一个序列。那个例子说明了怎样利用单列的表进行计数。那样做对于只需要单个计数器的情形能够满足需要,但是,如果需要几个计数器,该方法将会引起不必要的表重复。假如有一个Web 站点并且想要在几个页面上放置“此页面已经被访问nnn 次”这样的计数器。那么为每个具有一个计数器的页面建立一个单独的表就有些多余了。避免创建多个计数器表的一种方法是建立一个两列的表。其中一列存放计数值;另一列存放计数器名。这时仍然可以使用LAST _ INSERT_ID( ) 函数,但可用计数器名来决定用哪一行。这个表如下所示:

上一页  1 2 3 4 5 6  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接