这真是个好网站我要努力工作
分类: 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 主机名 数据库名称