当前位置:首页 > Mysql教程 > 列表

mysql中表数据与表结构复制语句

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-09 10:22:12 浏览: 评论:0 

本文章来给各位朋友介绍一下关于在mysql中进行表数据与表结构复制语句,方法会有很多种下面我来介绍介绍,有需要了解的朋友可参考。

先来总结复制表与结的方法

一、CREATE TABLE 方法

整表复制:create table 新表 select * from 旧表;

结构复制:create table 新表 select * from 旧表 where 1<>1;

一,复制表结构

方法1,代码如下:

  1. mysql> create table a like users;         //复制表结构 
  2. Query OK, 0 rows affected (0.50 sec) 
  3. --phpfensi.com 
  4. mysql> show tables; 
  5. +----------------+ 
  6. | Tables_in_test | 
  7. +----------------+ 
  8. | a              | 
  9. | users          | 
  10. +----------------+ 
  11. rows in set (0.00 sec) 

方法2,代码如下:

  1. mysql> create table b select * from users limit 0;   //复制表结构 
  2. Query OK, 0 rows affected (0.00 sec) 
  3. Records: 0  Duplicates: 0  Warnings: 0 
  4.  
  5. mysql> show tables; 
  6. +----------------+ 
  7. | Tables_in_test | 
  8. +----------------+ 
  9. | a              | 
  10. | b              | 
  11. | users          | 
  12. +----------------+ 
  13. rows in set (0.00 sec) 

方法3,代码如下:

  1. mysql> show create table usersG;          //显示创表的sql 
  2. *************************** 1. row *************************** 
  3.  Table: users 
  4. Create TableCREATE TABLE `users` (       //改表名 
  5.  `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 
  6.  `user_name` varchar(60) NOT NULL DEFAULT ''
  7.  `user_pass` varchar(64) NOT NULL DEFAULT ''
  8.  PRIMARY KEY (`ID`) 
  9. ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8  //改auto_increment 
  10. 1 row in set (0.00 sec)  

把sql语句copy出来,改一下表名和atuo_increment,然后在执行一下.

二,复制表数据,以及表结构.

方法1,代码如下:

  1. mysql> create table c select * from users; //复制表的sql 
  2. Query OK, 4 rows affected (0.00 sec) 
  3. Records: 4  Duplicates: 0  Warnings: 0 

方法2,代码如下:

  1. mysql> create table d select user_name,user_pass from users where id=1; 
  2. Query OK, 1 row affected (0.00 sec) 
  3. Records: 1  Duplicates: 0  Warnings: 0 

上面的2种方法,方便,快捷,灵活性强.

2、CREATE TABLE 新表  LIKE 旧表;

二、INSERT INTO 方法

得到建表语句: show create table 旧表;复制数据到新表:

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

INSERT INTO 新表  SELECT * FROM 旧表;

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

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

三、CREATE TEMPORARY TABLE创建临时表

Tags: mysql数据结构 mysql复制语句

分享到: