Mysql入门系列:MYSQL创建、删除、索引和更改表
2006-12-31 10:46:46 来源:WEB开发网从此表中可以看到,对于ISAM 表来说,其索引列必须定义为NOT NULL,并且不能对BLOB 和TEXT 列进行索引。MyISAM 表类型去掉了这些限制,而且减缓了其他的一些限制。两种表类型的索引特性的差异表明,根据所使用的MySQL版本的不同,有可能对某些列不能进行索引。例如,如果使用3.23 版以前的版本,则不能对包含NULL 值的列进行索引。
如果使用的是MySQL3.23版或更新的版本,但表是过去以ISAM 表创建的,可利用ALTER TABLE 很方便地将它们转换为MyISAM 存储格式,这样使您能利用某些较新的索引功能,如:
ALTER TABLE tb1_name TYPE=MYISAM
2. 创建索引
在执行CREATE TABLE 语句时,可为新表创建索引,也可以用CREATE INDEX 或ALTER TABLE 来为一个已有的表增加索引。CREATE INDEX 是在MySQL3.23版中引入的,但如果使用3.23 版以前的版本,可利用ALTER TABLE 语句创建索引(MySQL通常在内部将CRE ATE INDEX 映射到ALTER TABLE)。可以规定索引能否包含重复的值。如果不包含,则索引应该创建为PRIMARY KEY 或UNIQUE 索引。对于单列惟一索引,这保证了列不包含重复的值。对于多列惟一索引,它保证值的组合不重复。
PRIMARY KEY 索引和UNIQUE 索引非常类似。事实上, PRIMARY KEY 索引仅是一个具有名称PRIMARY 的UNIQUE 索引。这表示一个表只能包含一个PRIMARY KEY,因为一个表中不可能具有两个同名的索引。同一个表中可有多个UNIQUE 索引,虽然这样做意义不
大。
为了给现有的表增加一个索引,可使用ALTER TABLE 或CREATE INDEX 语句。ALTER TABLE 最常用,因为可用它来创建普通索引、UNIQUE 索引或PRIMARY KEY 索引,如:
更多精彩
赞助商链接