当前位置:学学看123知识中心电脑教学数据库教程MYSQL创建、删除、索引和更改表» 正文

MYSQL创建、删除、索引和更改表

[06-11 18:19:01]   来源:http://www.xxk123.com  数据库教程   阅读:8238

导读: 3.4 创建、删除、索引和更改表 可利用CREATE TABLE、DROP TABLE 和ALTER TABLE 语句创建表,然后,对它们进行删除,更改它们的结构。对于它们中的每一条语句,存在MySQL专有的扩充,这些扩充使各语句更为有用。CREATE INDEX 和DROP INDEX 语句使您能够增加或删除现有表上的索引。 3.4.1CREATE TABLE 语句 用CREATE TABLE 语句创建表。此语句的完整语法是相当复杂的,因为存在那么多的可选子句,但在实际中此语句的应用相当简单。如我们在第1章中使用的所有CREATE TABLE 语句都不那么复杂。有意思的是,大多数复杂东西都是一些子句,这些子句MySQL在分析后扔掉。参阅附录D 可看到这些复杂的东西。看看CREATE TABLE 语句的各项条款,注意该语句有多少语法是用于REFERENCES CONSTRAINT 和CHECK 子句的。这些子句涉及外部键、引用完整性及输入值约束。MySQL不支持这些功能,但它分析其语法使其更容易利用在其他数据库系

MYSQL创建、删除、索引和更改表,标签:sql数据库教程,access数据库教程,http://www.xxk123.com


    3.4 创建、删除、索引和更改表
    可利用CREATE TABLE、DROP TABLE 和ALTER TABLE 语句创建表,然后,对它们进行删除,更改它们的结构。对于它们中的每一条语句,存在MySQL专有的扩充,这些扩充使各语句更为有用。CREATE INDEX 和DROP INDEX 语句使您能够增加或删除现有表上
的索引。
    3.4.1CREATE TABLE 语句
    用CREATE TABLE 语句创建表。此语句的完整语法是相当复杂的,因为存在那么多的可选子句,但在实际中此语句的应用相当简单。如我们在第1章中使用的所有CREATE TABLE 语句都不那么复杂。有意思的是,大多数复杂东西都是一些子句,这些子句MySQL在分析后扔掉。参阅附录D 可看到这些复杂的东西。看看CREATE TABLE 语句的各项条款,注意该语句有多少语法是用于REFERENCES CONSTRAINT 和CHECK 子句的。这些子句涉及外部键、引用完整性及输入值约束。MySQL不支持这些功能,但它分析其语法使其更容易利用在其他数据库系统中建立的表定义。(可以用较少的编辑工作更容易地利用该代码。)如果您从头开始编写自己的表描述,可以完全不管这些子句。本节中我们对它们也不多做介绍。CREATE TABLE 至少应该指出表名和表中列的清单。例如:

    除构成表的列以外,在创建表时还可以说明它应该怎样索引。另一个选择是创建表时不进行索引,以后再增加索引。如果计划在开始将表用于查询前,用大量的数据填充此表,以后再创建索引是一个好办法。在插入每一行时更新索引较装载数据到一个未索引的表中然后
再创建索引要慢得多。我们已经在第1章中介绍了CREATE TABLE 语句的基本语法,并在第2章讨论了怎样描述列类型。这里假定您已经读过了这两章,因此我们就不重复这些内容了。在本节下面,我们将介绍一些MySQL3.23 中对CREATE TABLE 语句的重要扩充,这些扩充在构造表方面提供了很大的灵活性,这些扩充为:
    ■ 表存储类型说明符。
    ■ 仅当表不存在时才进行创建。
    ■ 在客户机会话结束时自动删除临时表。
    ■ 通过选择希望表存储的数据来创建一个表。
    1. 表存储类型说明符
    在MySQL3.23 之前,所有用户创建的表都利用的是ISAM 存储方法。在MySQL3.23中,可在CREATE TABLE 语句的列的列表之后指定TYPE = type,以三种类型明确地创建表。其中type 可以为MYISAM、ISAM 或HEAP。例如:

    将表转换为HEAP 类型可能不是一个好主意,但是,如果希望表一直维持到服务器关闭,可以进行这个转换。HEAP 表在服务器退出之前,一直保留在内存中。这三种表类型的一般特点如下:
    ■ MyISAM 表。MyISAM 存储格式自版本3.23 以来是MySQL中的缺省类型,它有下列特点:
    ■ 如果操作系统自身允许更大的文件,那么文件比ISAM 存储方法的大。
    ■ 数据以低字节优先的机器独立格式存储。这表示可将表从一种机器拷贝到另一种机器,即使它们的体系结构不同也可以拷贝。
    ■ 数值索引值占的存储空间较少,因为它们是按高字节优先存储的。索引值在低位字节中变化很快,因此高位字节更容易比较。
    ■ AUTO_INCREMENT 处理比ISAM 的表更好。详细内容在第2章讨论。
    ■ 减少了几个索引限制。例如,可对含NULL 值的列进行索引,还可以对BLOB 和TEXT 类型的列进行索引。
    ■ 为了改善表的完整性检查,每个表都具有一个标志,在myisamchk 对表进行过检查后,设置该标志。可利用myisamchk - fast 跳过对自前次检查以来尚未被修改过表的检查,这样使此管理任务更快。表中还有一个指示表是否正常关闭的标志。如果服务器关闭不正常,或机器崩溃,此标志可用来检测出服务器起动时需要检查的表。

[1] [2] [3] [4] [5] [6] [7]  下一页


Tag:数据库教程sql数据库教程,access数据库教程电脑教学 - 数据库教程

Copyright 学学看123 All Right Reserved.

1 2 3 4 5 6 7 8 9 10