MySQL基础知识---------CREATE TABLE 语法/DROP DATABASE语法
2014-02-21 14:18
260 查看
CREATE TABLE用于创建带给定名称的表。您必须拥有表CREATE权限。
允许的表名称的规则列于9.2节,“数据库、表、索引、列和别名”中。默认的情况是,表被创建到当前的数据库中。如果表已存在,或者如果没有当前数据库,或者如果数据库不存在,则会出现错误。
表名称被指定为db_name.tbl_name,以便在特定的数据库中创建表。不论是否有当前数据库,都可以通过这种方式创建表。如果您使用加引号的识别名,则应对数据库和表名称分别加引号。例如,`mydb`.`mytbl`是合法的,但是`mydb.mytbl`不合法。
在创建表格时,您可以使用TEMPORARY关键词。只有在当前连接情况下,TEMPORARY表才是可见的。当连接关闭时,TEMPORARY表被自动取消。这意味着两个不同的连接可以使用相同的临时表名称,同时两个临时表不会互相冲突,也不与原有的同名的非临时表冲突。(原有的表被隐藏,直到临时表被取消时为止。)您必须拥有CREATE
TEMPORARY TABLES权限,才能创建临时表。
如果表已存在,则使用关键词IF NOT EXISTS可以防止发生错误。注意,原有表的结构与CREATE
TABLE语句中表示的表的结构是否相同,这一点没有验证。注释:如果您在CREATE TABLE...SELECT语句中使用IF
NOT EXISTS,则不论表是否已存在,由SELECT部分选择的记录都会被插入。
MySQL通过数据库目录中的.frm表格式(定义)文件表示每个表。表的存储引擎也可能会创建其它文件。对于MyISAM表,存储引擎可以创建数据和索引文件。因此,对于每个MyISAM表tbl_name,有三个磁盘文件:
用于表示表的由存储引擎创建的文件在第15章:存储引擎和表类型中描述。
要了解有关各种列类型的性质的一般说明,请参见第11章:列类型。要了解有关空间列类型的说明,请参见第19章:MySQL中的空间扩展。
DROP DATABASE用于取消数据库中的所用表格和取消数据库。使用此语句时要非常小心!如果要使用DROP
DATABASE,您需要获得数据库DROP权限。
IF EXISTS用于防止当数据库不存在时发生错误。
也可以使用DROP SCHEMA。
如果您对一个带有符号链接的数据库使用DROP DATABASE,则链接和原数据库都被取消。
DROP DATABASE会返回已被取消的表的数目。此数目相当于被取消的.frm文件的数目。
在正常操作中MySQL自身会创建出一些文件和目录。DROP
DATABASE语句会从给定的数据库目录中取消这些文件和目录:
· 所有带这些扩展名的文件:
db.opt文件
如果在MySQL取消了上述这些文件之后,在数据库目录中仍保留有其它文件和目录,则数据库目录不能被取消。在这种情况下,您必须人工取消所有保留下的文件或目录,并再次发送DROP
DATABASE语句。
允许的表名称的规则列于9.2节,“数据库、表、索引、列和别名”中。默认的情况是,表被创建到当前的数据库中。如果表已存在,或者如果没有当前数据库,或者如果数据库不存在,则会出现错误。
表名称被指定为db_name.tbl_name,以便在特定的数据库中创建表。不论是否有当前数据库,都可以通过这种方式创建表。如果您使用加引号的识别名,则应对数据库和表名称分别加引号。例如,`mydb`.`mytbl`是合法的,但是`mydb.mytbl`不合法。
在创建表格时,您可以使用TEMPORARY关键词。只有在当前连接情况下,TEMPORARY表才是可见的。当连接关闭时,TEMPORARY表被自动取消。这意味着两个不同的连接可以使用相同的临时表名称,同时两个临时表不会互相冲突,也不与原有的同名的非临时表冲突。(原有的表被隐藏,直到临时表被取消时为止。)您必须拥有CREATE
TEMPORARY TABLES权限,才能创建临时表。
如果表已存在,则使用关键词IF NOT EXISTS可以防止发生错误。注意,原有表的结构与CREATE
TABLE语句中表示的表的结构是否相同,这一点没有验证。注释:如果您在CREATE TABLE...SELECT语句中使用IF
NOT EXISTS,则不论表是否已存在,由SELECT部分选择的记录都会被插入。
MySQL通过数据库目录中的.frm表格式(定义)文件表示每个表。表的存储引擎也可能会创建其它文件。对于MyISAM表,存储引擎可以创建数据和索引文件。因此,对于每个MyISAM表tbl_name,有三个磁盘文件:
文件 | 作用 |
tbl_name.frm | 表格式(定义)文件 |
tbl_name.MYD | 数据文件 |
tbl_name.MYI | 索引文件 |
要了解有关各种列类型的性质的一般说明,请参见第11章:列类型。要了解有关空间列类型的说明,请参见第19章:MySQL中的空间扩展。
DROP DATABASE语法
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE用于取消数据库中的所用表格和取消数据库。使用此语句时要非常小心!如果要使用DROP
DATABASE,您需要获得数据库DROP权限。
IF EXISTS用于防止当数据库不存在时发生错误。
也可以使用DROP SCHEMA。
如果您对一个带有符号链接的数据库使用DROP DATABASE,则链接和原数据库都被取消。
DROP DATABASE会返回已被取消的表的数目。此数目相当于被取消的.frm文件的数目。
在正常操作中MySQL自身会创建出一些文件和目录。DROP
DATABASE语句会从给定的数据库目录中取消这些文件和目录:
· 所有带这些扩展名的文件:
.BAK | .DAT | .HSH | |
.MRG | .MYD | .ISD | |
.MYI | .db | .frm |
如果在MySQL取消了上述这些文件之后,在数据库目录中仍保留有其它文件和目录,则数据库目录不能被取消。在这种情况下,您必须人工取消所有保留下的文件或目录,并再次发送DROP
DATABASE语句。
相关文章推荐
- 【基础知识思考整理 】Mysql高效率的分页查询
- MySQL中索引的基础知识
- mysql基础知识-1
- 高性能mysql第三版基础知识和基本优化总结
- MYSQL基础知识总结
- mysql命令 和 基础知识
- MySql高性能笔记 - (一)Mysql基础知识
- MySQL的日志基础知识及基本操作学习教程
- MySQL-基础知识备忘
- mysql基础知识介绍
- Mysql基础知识:运算符
- 基础知识:MySQL数据类型及列类型 (2)
- MySQL 基础知识
- mysql 基础知识
- MySQL学习——基础知识
- Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
- MySQL基础知识
- mysql基础知识
- MySQL系列(一)---基础知识大总结
- mysql基础知识扫盲