mysql 复制表结构(包括索引等)、表内容

===============================================

2019/7/16_第1次修改                       ccb_warlock

===============================================

mysql库中有一张表查询要较大,最后采取的方案是清理数据只保留近期。但是有需要保留原表所有数据的备份,由此才尝试了复制表结构、表内容的sql脚本。


一、复制表结构(包括索引等)

CREATE TABLE <新表名>
SELECT * FROM <老表名>;

二、复制表内容

INSERT INTO <新表名>
SELECT * FROM <老表名>;

如果新、老表的表结构不一致时,需要指定具体的字段信息才能做insert操作,可以使用下面的sql语句。

INSERT INTO <新表名>(字段1,
                    字段2,
                    …)
SELECT 字段1, 字段2, …
from <旧表名>; 

PS.曾经尝试通过一个sql语句实现这2个功能,但是试验后发现一个语句始终无法解决索引、外键等无法复制的问题,故最后还是选择分2步走。

原文地址:https://www.cnblogs.com/straycats/p/11198340.html

时间: 2024-10-11 13:16:45

mysql 复制表结构(包括索引等)、表内容的相关文章

查询SQLServer2005中某个数据库中的表结构、索引、视图、存储过程、触发器以及自定义函数

查询SQLServer2005中某个数据库中的表结构.索引.视图.存储过程.触发器以及自定义函数 2013-03-11 09:05:06|  分类: SQL SERVER|举报|字号 订阅 (1)查询SQLServer2005中某个数据库中的表结构 SELECT TOP 100 PERCENT --a.id,CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名,CASE WHEN a.colorder = 1 THEN isnull(f.v

PowerDesigner导出数据表结构到Excel 所有表结构在同一个Sheet中

Option Explicit Dim rowsNum rowsNum = 0 '----------------------------------------------------------------------------- ' Main function '----------------------------------------------------------------------------- ' Get the current active model Dim M

SQL优化的四个方面,缓存,表结构,索引,SQL语句

一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S

General MYSQL 复制.frm数据库文件后查看表提示表不存在 Error code: 1146

现象: 将含.frm的源数据库文件夹复制到另一Mysql环境下后,打开Mysql,查看数据库和表都无问题,但在打开数据表查看表结构和表数据时提示error code: 1146,要访问的数据表"doesn't exist" 解决: 除了复制.frm的源数据库文件夹外,还需停止mysql服务(无论是拷贝源还是拷贝目的地,mysql服务最好都停掉),然后再复制与源数据库文件夹同目录下的以下3个文件粘贴或覆盖到目的文件中,然后再启动Mysql服务即可. 拷贝以上3个文件需以停止Mysql服务

优化的四个方面,缓存,表结构,索引,SQL语句

一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S

将数据库A中&quot;x&quot;表完整复制到数据库B中的方法(含: 表结构、索引、主键、约束及权限等)

//导出A数据库 -> x表(不含数据) exp A/[email protected] file=/tmp/exp_tmp_x.dmp tables=x rows=n; //导入B数据库 -> x表 imp B/[email protected] file=/tmp/exp_tmp_x.dmp tables=x ignore=y; 批量建表时: sh exp.sh sh imp.sh

MySQL复制表字段到另外一个表的字段

有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写: UPDATE tb_1 SET content_target = content_source; 大概写法如下:名仕娱乐城 Update {your_table} set {source_field} = {object_field} WHERE cause 有Navicat等工具更好,可以直接选中一列数据,拷贝粘贴到你需要的列中.如果是同一个表那没什么问题,如果是新表,请保持它们的行数是一致.如果行数不

查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)

0.表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看用户下所有的表 SQL>select * from user_tables; 1.用户 查看

【数据库】MySQL 复制表结构

介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便捷的方法. 例: CREATE TABLE tb_base( id INT NOT NULL PRIMARY KEY, name VARCHAR(10), KEY ix_name (name)) ENGINE='MyISAM',CHARSET=utf8,COMMENT 'a' ; insert into tb_base() values(1,'a'),(2,'b'); 一.LIKE方法 like方法能一模一样的

MySQL 复制表结构

介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便捷的方法. 例: CREATE TABLE tb_base( id INT NOT NULL PRIMARY KEY, name VARCHAR(10), KEY ix_name (name)) ENGINE='MyISAM',CHARSET=utf8,COMMENT 'a' ; insert into tb_base() values(1,'a'),(2,'b'); 一.LIKE方法 like方法能一模一样的