今天做了一个小Model,就是把另一数据库中的表复制到目标数据库中,但是复制到目标数据库中的表中的记录为空

  思路:

    1 读取建表的SQL语句

    2 通过jdbc执行

    3 对新建表进行重新命名

  精要:

    1 读取建表的SQL语句 

    show create table table_name;

    测试:

mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| stu1           |
| stu2           |
| stu3           |
| stu4           |
| stu5           |
+----------------+
5 rows in set (0.01 sec)

mysql> show create table stu1;
+-------+------------------------------------------------------------------------------------------
------------------------------------------------------------+
| Table | Create Table
                                                            |
+-------+------------------------------------------------------------------------------------------
------------------------------------------------------------+
| stu1  | CREATE TABLE `stu1` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'a',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='备注1' |
+-------+------------------------------------------------------------------------------------------
------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

  第二次测试

 

mysql> show create table stu1 \G;
*************************** 1. row ***************************
       Table: stu1
Create Table: CREATE TABLE `stu1` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'a',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='备注1'
1 row in set (0.00 sec)

ERROR:
No query specified

mysql>

 

 

 

  2 对数据表进行重新命名

  alter table table_name rename to new_table_name;

    测试:

mysql> alter table stu5 rename to stu6;
Query OK, 0 rows affected (0.05 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| stu1           |
| stu2           |
| stu3           |
| stu4           |
| stu6           |
+----------------+
5 rows in set (0.01 sec)

mysql>

  

posted on 2012-04-20 22:04  十二月的黄昏  阅读(1001)  评论(0编辑  收藏  举报