6.5 数据定义: create、drop、alter
6.5.1 create database 句法
create database [if not exists] db_name
create database 以给定名字创建一个数据库。允许的数据库名规则在章节 6.1.2 数据库、表、索引、列和别名 中被给出。 如果数据库已经存在,并且你没有指定 if not exists,这时会产生一个错误。
在 mysql 中,数据库以包含数据库表对应文件的目录实现的。因为数据库在初始创建时没有表,所以 create database 语句只在 mysql 数据目录下创建一个目录。
你也可以使用 mysqladmin 创建一个数据库。查看章节 4.8 mysql 客户端脚本和实用程序。
6.5.2 drop database 句法
drop database [if exists] db_name
drop database 移除数据库是的所有表并删除数据库。如果你在一个符号链接(symbolic link)数据库上执行一个 drop database,链接与原始数据库均会被删除。要非常小心地使用这个命令!
drop database 返回从数据库目录下删除的文件数目。通常,它是表的数目的三倍,因为第张表通常对应于一个 “.myd” 文件、一个 “.myi” 文件和一个 “.frm” 文件。
drop database 命令从给定的数据库目录下移除以下列为扩展名的所有文件:
扩展名 扩展名 扩展名 ext
.bak .dat .hsh .isd
.ism .ism .mrg .myd
.myi .db .frm
所有包含两个数字的子目录(raid 目录)也同样被删除。
在 mysql 3.22 或以后的版本中,你可以使用关键词 if exists 以防止如果数据库不存在时发生错误。
你也可以使用 mysqladmin 移除数据库。查看章节 4.8 mysql 客户端脚本和实用程序。
6.5.3 create table 句法
create [temporary] table [if not exists] tbl_name [(create_definition,...)]
[table_options] [select_statement]
or
create [temporary] table [if not exists] tbl_name like old_table_name;
create_definition:
col_name type [not null null] [default default_value] [auto_increment]
[primary key] [reference_definition]
or primary key (index_col_name,...)
or key [index_name] (index_col_name,...)
or index [index_name] (index_col_name,...)
or unique [index] [index_name] (index_col_name,...)
or fulltext [index] [index_name] (index_col_name,...)
or [constraint symbol] foreign key [index_name] (index_col_name,...)
[reference_definition]
or check (expr)
type:
tinyint[(length)] [unsigned] [zerofill]
or smallint[(length)] [unsigned] [zerofill]
or mediumint[(length)] [unsigned] [zerofill]
or int[(length)] [unsigned] [zerofill]
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器