欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

[mysql] 治理表和索引的相关语句

更新时间: 2014-01-05 02:09:17 责任编辑: Author_N1

 

[MySQL] 管理表和索引的相关语句

1. 创建表

MySQL中创建表是通过create table语句实现的,语法这里就不介绍了,非常复杂,可以去官网上查询,所幸的是,我们并不需要记住所有的选项,因为大部分都采用默认即可,下面介绍几个比较常用的选项。

1)指定存储引擎

默认的存储引擎由default-storage-engine指定,如果没有指定,则为MyISAM,如果建表时,你不想使用默认的存储引擎,可以通过如下语句实现:

create table table_name ( ... ) engine=engine_name;
2)只有当表不存在时才创建

create table if not exist table_name ... ;
上述语句表示:如果表已存在,则跳过;否则创建新表。

3)创建临时表

MySQL的临时表有如下特性:

  - 临时表只在创建该表的会话里是可见的,对其它会话是隐藏的,会话断开后,临时表自动被删除。

  - 当临时表的表名和普通表一样时,当前会话将会优先访问临时表。

临时表的语法如下:

create temporary table temp_table_name ... ;
4)从其它表中创建新表

MySQL提供两种方式从其它表中创建新表:

  - create table ... like:创建一个新表为原表的空白副本,也就是说,新表是一个空表,但它拥有原表所有的属性、索引、约束等(这个语法很有用,Oracle就没有类似的功能),其用法如下:

create table new_table_name like old_table_name;
insert into new_table_name select * from old_table_name;
  - create table ... select:  不会复制所有的数据列属性(保留下来的属性有:字符集、NOLL or NOT NULL,默认值,注释),不带索引,不包含约束。


2. 删除表

相比于创建表,删除表就简单多了。

1)删除普通表

drop table table_name;
2)删除临时表

drop temporary table table_name;
3)表存在才删除

drop table if exists table_name;


3. 创建索引


上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:09:17
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6289/
本文WWW.DOC100.NET DOC100.NET版权所有。