Chinaunix首页 | 论坛 | 博客
  • 博客访问: 157612
  • 博文数量: 43
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 354
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-16 14:58
个人简介

这真是个好网站我要努力工作

文章分类

全部博文(43)

文章存档

2015年(2)

2014年(17)

2011年(1)

2010年(2)

2009年(21)

我的朋友

分类: LINUX

2009-09-25 11:42:07

今天更改一个后台系统,需要拷贝一个mysql表。于是总结了一下MYSQL中复制表结构的几种方法:

1、create table newtable select * from oldtable;
这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用
delete from newtable;
来删除。
不过这种方法的一个最不好的地方就是newtable中没有了oldtable的pri key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。

给数据库添加索引的命令

ALTER TABLE `question_answer`.`t_qa_question_dayclick` ADD INDEX `category_id` (`category_id`);

2、show create table oldtable;
这样会将oldtable的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表。

3、mysqldump
用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行。

导出:
mysqldump -u 用户名 -p密码  -h 主机名 数据库名称 表名称 >;export.sql
导入:
mysql -u 用户名 -p密码  -h 主机名 数据库名称

阅读(594) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~