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

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

一、CREATE TABLE 方法

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

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

一,复制表结构

方法1:

 代码如下 复制代码

mysql> create table a like users;         //复制表结构
Query OK, 0 rows affected (0.50 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| a              |
| users          |
+----------------+
2 rows in set (0.00 sec)

方法2:

 代码如下 复制代码

mysql> create table b select * from users limit 0;   //复制表结构
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| a              |
| b              |
| users          |
+----------------+
3 rows in set (0.00 sec)

方法3:

 代码如下 复制代码

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

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

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

方法1:

 代码如下 复制代码

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

方法2:

 代码如下 复制代码
 
mysql> create table d select user_name,user_pass from users where id=1;
Query OK, 1 row affected (0.00 sec)
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创建临时表

时间: 2024-10-16 03:47:22

mysql中表数据与表结构复制语句的相关文章

mysql备份,备份数据,数据库,表结构

mysql  mysqldump 这里我的数据库先叫做xmen; 备份数据库 代码如下: #mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 #mysqldump -d -A --add-drop-table -uroot -p >xxx.sql 1.导出结构不导出数据 代码如下: mysqldump --opt -d 数据库名 -u root -p > xxx.sql 例:mysqldump --opt -d

sql-怎么使用SQL修改access数据库库表结构

问题描述 怎么使用SQL修改access数据库库表结构 怎么使用SQL修改access数据库库表结构(改动较大),同时避开表之间的关系连接,改动包括新增字段.修改字段长度.新增表 解决方案 根据sql脚本修改数据库表结构SQL语句修改数据库表结构修改SQL-SERVER数据库表结构的SQL命令 解决方案二: 删除表: Drop table [表名] 插入数据: INSERT INTO 表名 VALUES (100,'51WINDOWS.NET') 删除数据: DELETE FROM [表名] W

新手求解 怎么在mysql中创建多级表结构

问题描述 新手求解 怎么在mysql中创建多级表结构 比如说我要创建一个如下的表结构,该用什么语句,, 类似这种多层结构 解决方案 MySQL创建表结构里面的那个长度对于整型的作用 解决方案二: 多级表结构?使用外键吧! 解决方案三: 数据库里变是没有多级表结构的,你想要实现多级结构,需要通过多表关联.外键关联等操作来实现. 或者在同一个表中,通过字段id和parentId等关系进行区分.

mysql 复制表数据,表结构的3种方法

 什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的文件呢,操作起来也还是麻烦. 一,复制表结构 方法1: mysql> create table a like users; //复制表结构 Query OK, 0 rows affected (0.50 sec)   mysql> show tables; +------+ | Tables_i

mysql更新修改数据表结构sql语句

mysql中alter命令的用法,用于编辑表结构. 修改表名  代码如下 复制代码 alter table test rename test1; 修改字段类型  代码如下 复制代码 alter table employee change depno depno int(5) not null;   加索引  代码如下 复制代码 alter table 表名 add index 索引名 (字段名1[,字段名2 -]); 例子: alter table employee add index emp_

查看mysql字符集及修改表结构--表字符集,字段字符集

MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的字符集.当前安装的 MySQL 所支持的字符集等. 一.查看 MySQL 数据库服务器和数据库字符集. mysql> show variables like '%char%';+--------------------------+----------------------------------

MySQL千万级多表关联SQL语句调优

本文不涉及复杂的底层数据结构,通过explain解释SQL,并根据可能出现的情况,来做具体的优化,使千万级表关联查询第一页结果能在2秒内完成(真实业务告警系统优化结果).   需要优化的查询:使用explain      出现了Using temporary:      有分页时出现了Using filesort则表示使用不了索引,需要根据下面的技巧来调整语句      rows过多,或者几乎是全表的记录数:      key 是 (NULL):      possible_keys 出现过多(

mysql数据库实现关联表更新sql语句

比如有两张表,其中一张表某个字段的值要关联另一张表进行统计,就要用到mysql的update方法,并且left join另一张表进行联合查询. 表1 表2 需求是:统计表1中id,也就是表2中的tagid出现的次数,更新到表1的videonum字段中.这时候需要关联两张表更新表1并且进行统计. mysql关联表更新统计 sql语句如下:  代码如下 复制代码 UPDATE v9_keyword as a LEFT JOIN v9_keyword_data as b on a.id=b.tagid

mysql中数据导出成excel文件语句

 代码如下 复制代码 mysql>select * from xi_table into outfile 'd:test.xls'; 导出为txt文件:  代码如下 复制代码 select * from xi_table into outfile 'd:test.txt'; 默认使用tab分割字段,记录使用n分割.可以自定义三个参数.  代码如下 复制代码 SELECT * FROMhx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMIN