MySQL 4.1.0 中文参考手册 --- 6.5 数据定义: CREATE、DROP、ALTER[8]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 shuixin13 的 blog

rename table old_table    to backup_table,
             new_table    to old_table,
             backup_table to new_table;

只要两个数据库在同一个磁盘上,你也可以从一个数据库更名到另一个数据库:

rename table current_db.tbl_name to other_db.tbl_name;

当你执行 rename 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 alterdrop 权限,以及对新表的 createinsert 权限。

如果在多表更名中,mysql 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。

rename table 在 mysql 3.23.23 中被加入。

6.5.6 drop table 句法

drop [temporary] table [if exists] tbl_name [, tbl_name,...] [restrict | cascade]

drop table 移除一个或多个表。所有的数据和表定义均被 移除,所以,一定要小心地使用这个命令!

在 mysql 3.22 或更新的版本中,你可以使用关键词 if exists 防止表不存在时发生错误。在 4.1 中,当使用 if exists 时,对于所有不存在的表,你将得到一个 note。查看章节 4.5.6.9 show warnings | errors

restrict and cascade 被允许是为了更容易的移植。目前,他们不起任何作用。

注意:drop table 将自动地提交当前活动的事务(除非你使用的是mysql 4.1 ,并且使用了 temporary 关键词)。

选项 temporary 在 4.0 中被忽略。在 4.1 中,这人选项按如下所示工作:

  • 只移除临时表。
  • 不结束一个运行着的事务。
  • 不会被检查访问权限。

使用 temporary 是一个很好的安全方式,它可以防止你意外地移除一个真实的表。

6.5.7 create index 句法

create [unique|fulltext] index index_name
       on tbl_name (col_name[(length)],... )

create index 句法在 mysql 3.22 以前的版本中不做任何事情。在 3.22 或以后的版本中,create index 被映射到一个 alter table 语句来创建索引。查看章节 6.5.4 alter table 句法

通常,在用 create table 创建表本身时你就创建表的所有索引。查看章节 6.5.3 create table 句法create index 允许你在一个现有表上添加索引。

(col1,col2,...) 格式的列列表创建一个多列索引。索引值由给定的列值连接而成。

对于 charvarchar 列,使用 col_name(length) 句法,可以只用一个列的部分来创建索引。(对于 blobtext 列,长度是必须的。)这里的语句显示使用 name 列的前 10 个字符创建一个索引:

mysql> create index part_of_name on customer (name(10));

因为,大多数名字通常在前 10 个字符是不一样的,这个索引不应该比以整个 name 创建的索引慢。同样,使用部分列值创建的索引文件会更小一点,这将节省很多磁盘空间,也可以加速 insert 操作!

注意,如果你存在使用的是 mysql 3.23.2 或更新的版本并且是 myisam 表类型,这时你才能在一个可以有 null 值的列上创建索引,以及在一个 blob/text列上创建索引。

关于 mysql 如何使用索引的更多信息,查看章节 5.4.3 mysql 如何使用索引

fulltext 索引只能索引 varchartext 列,而且只能应用于 myisam 表。fulltext 索引在 mysql 3.23.23 和更新的版本中可以使用。查看章节 6.8 mysql 全文搜索

6.5.8 drop index 句法

drop index index_name on tbl_name

drop index 从表 tbl_name 移除一个名为 index_name 的索引。在 mysql 3.22 先前的版本中不做任何事情。在 3.22 或以后的版本中,drop index 被映射到一个 alter table 语句来移除索引。查看章节 6.5.4 alter table 句法

本文关键:MySQL 4.1.0 中文
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top