MySQL复制表结构和数据SQL语句

1.复制表结构及数据到新表

CREATE TABLE 新表
  SELECT * FROM 旧表

2.只复制表结构到新表

CREATE TABLE 新表
  SELECT * FROM 旧表 WHERE 1=2

即:让WHERE条件不成立.

CREATE TABLE 新表
  LIKE 旧表 //tianshibao

3.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表
  SELECT * FROM 旧表

4.复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,…….)
  SELECT 字段1,字段2,…… FROM 旧表

9 条评论 »

  1. hehehe said,

    十二月 30, 2008 at 4:19 下午

    第一个就错了!!
    CREATE TABLE 新表 as
    SELECT * FROM 旧表

  2. catch said,

    一月 16, 2009 at 10:12 下午

    呵呵。。我觉得这个不是语句的问题,是你Mysql版本的问题,按你的写法来说,你那个应该是Mysql4的,我在Mysql5.0下跑得很正常。

  3. boxman said,

    二月 27, 2009 at 10:16 上午

    mysql 5.0正常的一塌糊涂

  4. houapple said,

    五月 30, 2009 at 10:02 上午

    请教一下
    若要将旧表 a(x, y, z) 复制到 新表 b(n, x, y, z, m)
    x,y,z表示字段名相同, n为主键,自己设定
    应怎么写

  5. Kim Chow said,

    六月 3, 2009 at 2:36 下午

    这样的结构,只能把数据Dump出来,然后使用load data方式加载进去了。

  6. taya said,

    九月 6, 2009 at 5:20 上午

    第一个语句只复制了表的数据,表结构不完全一样啊,为什么?

  7. ruan said,

    三月 9, 2010 at 9:55 上午

    请问怎么在两不同的主机之间的数据库复制数据?

  8. Kim Chow said,

    三月 18, 2010 at 3:24 上午

    你的意思是A机器有一部分数据,B机器有一部分数据,需要合并到C机器还是怎样呢?

  9. MAGICALBOY said,

    四月 24, 2010 at 8:58 上午

    正在学习MySQL,谢谢分享。BTW,在我的电脑的1024*768+FF下看博主的博客字体偏小

RSS feed for comments on this post · TrackBack URL

发表评论

You must be logged in to post a comment.