`

复制表

阅读更多

创建测试表test:mysql> create table test(

    -> id int primary key auto_increment,

    -> name varchar(32)

    -> );

Query OK, 0 rows affected (0.16 sec)

 插入几条数据后复制test到test2中mysql> create table test2 select * from test;

Query OK, 2 rows affected (0.08 sec)

Records: 2  Duplicates: 0  Warnings: 0



mysql> select * from test2;

+----+-------+

| id | name  |

+----+-------+

|  1 | test1 |

|  2 | test2 |

+----+-------+

2 rows in set (0.00 sec)

 上面是复制了整张表,我们下面看复制表的一部分字段,相信一这样说就应该想到怎么做了


创建测试表test3mysql> create table test3(

    -> id int primary key auto_increment,

    -> name varchar(32),

    -> age int,

    -> birthday timestamp default now()

    -> );

Query OK, 0 rows affected (0.06 sec)

 插入几条数据后开始复制test3到test4中mysql> create table test4 select id,name,birthday from test3;

Query OK, 7 rows affected (0.06 sec)

Records: 7  Duplicates: 0  Warnings: 0



mysql> select * from test4;

+----+------+---------------------+

| id | name | birthday            |

+----+------+---------------------+

|  1 | test | 2010-12-30 23:16:08 |

|  2 | test | 2010-12-30 23:16:11 |

|  3 | test | 2010-12-30 23:16:12 |

|  4 | test | 2010-12-30 23:16:13 |

|  5 | test | 2010-12-30 23:16:14 |

|  6 | test | 2010-12-30 23:16:16 |

|  7 | test | 2010-12-30 23:16:19 |

+----+------+---------------------+

7 rows in set (0.00 sec)

 从上面可以看出,如果是只创建含有约束条件的值的表副本就简单了直接where就Ok了mysql> create table test5 select * from test4 where id<3;

Query OK, 2 rows affected (0.11 sec)

Records: 2  Duplicates: 0  Warnings: 0



mysql> select * from test5;

+----+------+---------------------+

| id | name | birthday            |

+----+------+---------------------+

|  1 | test | 2010-12-30 23:16:08 |

|  2 | test | 2010-12-30 23:16:11 |

+----+------+---------------------+

2 rows in set (0.00 sec)

 只复制表结构,不复制表数据

一:(取巧方法)mysql> create table test6 select * from test3 where 0=1;

Query OK, 0 rows affected (0.08 sec)

Records: 0  Duplicates: 0  Warnings: 0



mysql> select * from test6;

Empty set (0.00 sec)

 二:(MySQL提供了一个现成的语法)mysql> create table test7 like test6;

Query OK, 0 rows affected (0.06 sec)



mysql> select * from test7;

Empty set (0.00 sec)



mysql> desc test7;

+----------+-------------+------+-----+---------------------+-------+

| Field    | Type        | Null | Key | Default             | Extra |

+----------+-------------+------+-----+---------------------+-------+

| id       | int(11)     | NO   |     | 0                   |       |

| name     | varchar(32) | YES  |     | NULL                |       |

| age      | int(11)     | YES  |     | NULL                |       |

| birthday | timestamp   | NO   |     | 0000-00-00 00:00:00 |       |

+----------+-------------+------+-----+---------------------+-------+

4 rows in set (0.00 sec)

 三:(复制旧表部分结构,同时增加新字段)mysql> create table test8 (location varchar(32),position varchar(32)) select id,name,birthday from test7;

Query OK, 0 rows affected (0.08 sec)

Records: 0  Duplicates: 0  Warnings: 0



mysql> desc test8;

+----------+-------------+------+-----+---------------------+-------+

| Field    | Type        | Null | Key | Default             | Extra |

+----------+-------------+------+-----+---------------------+-------+

| location | varchar(32) | YES  |     | NULL                |       |

| position | varchar(32) | YES  |     | NULL                |       |

| id       | int(11)     | NO   |     | 0                   |       |

| name     | varchar(32) | YES  |     | NULL                |       |

| birthday | timestamp   | NO   |     | 0000-00-00 00:00:00 |       |

+----------+-------------+------+-----+---------------------+-------+

5 rows in set (0.00 sec)
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Oracle复制表数据的两种用法

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了多种方式来复制表数据。在本文中,我们将深入探讨Oracle复制表数据的两种主要方法,并结合提供的“测试插入.sql”文件,理解其在实际操作中的应用。 首先...

    复制表的语句

    ### 复制表的语句 在数据库管理与开发过程中,经常会遇到需要快速复制现有表结构或数据的情况。为了提高工作效率并减少出错的可能性,掌握如何有效地复制表变得尤为重要。本文将详细介绍“复制表”的相关知识,包括...

    MySQL复制表结构问题的解决方法

    在MySQL数据库管理中,复制表结构是一项常见的任务,特别是在数据迁移、备份或创建测试环境时。本篇文章将深入探讨MySQL复制表结构时遇到的问题及解决方案。 首先,我们要明确复制表结构并不涉及表中的数据,只是...

    sql server从一个数据库复制表到另一个数据库的方法

    2. **连接到源数据库**: 在对象资源管理器中,右键点击你要复制表所在的源数据库,确保你已经正确连接到SQL Server实例。 3. **生成脚本任务**:右键点击源数据库,选择“任务”,然后点击“生成脚本”。这将启动...

    oracle复制表.sql

    oracle复制表

    SQL2000复制表结构

    SQL2000复制表结构,SQL代码。

    SQL语句复制表

    ### SQL语句复制表知识点详解 #### 一、SQL复制表的基本概念 在数据库管理过程中,经常需要将一个表的数据完全复制到另一个表或者从一个数据库中的表移动到另一个数据库中去。这样的操作通常被称为“复制表”。通过...

    数据库之间复制表

    数据库之间复制表 数据库之间复制表是数据库开发中常见的需求,例如在不同的数据库或同一个数据库中将表之间的数据互相导入。这种操作可以通过编写程序实现,但是需要开发环境,不方便。利用 SQL 语言直接导入是最...

    poi excel 模板读取 复制表 复制行且区分合并行

    本篇将详细介绍如何使用Apache POI来读取Excel模板,复制工作表(Sheet)以及复制行,并特别关注如何处理合并单元格的情况。 首先,我们需要引入Apache POI的相关依赖库到我们的项目中。在Maven项目中,可以在pom....

    oracle使用dblink高速复制表数据的动态存储过程

    多年前写的复制目标数据库指定表的数据到本地表。 程序丢了可惜,分享下。 执行存储过程,通过指定目标数据库登录信息,动态生成dblink,打开游标,按批次插入本地指定表中,每批次1万条数据。同步记录和日志信息写...

    sql-server中复制数据库某一个表到另一个数据库中

    复制表结构通常不包含数据,主要目的是在目标数据库中创建与源数据库中相同的表结构。可以使用以下T-SQL命令: ```sql CREATE TABLE [目标数据库名称].[目标架构].[目标表名称] AS SELECT * FROM [源数据库名称]....

    Mssql 复制表结构 表数据.docx

    在SQL Server(Mssql)中,复制表结构和表数据是一项常见的操作,特别是在数据库管理和迁移过程中。以下将详细解释如何实现这些操作。 1. **复制表结构:** - 如果你需要复制一个表的结构,但不需要任何数据,可以...

    sql server 从一个数据库复制一张表到另外一个数据库

    使用链接服务器复制表 使用链接服务器,可以使用以下语句来查询远程数据库中的表: select * from ITSX.数据库名.dbo.表名 也可以使用以下语句将远程数据库中的表复制到当前数据库中: select * into 表 from ...

    Mysql复制表结构、表数据的方法

    MySQL是一种广泛使用的开源关系型数据库管理系统,其复制表结构和数据是常见的数据库管理任务,尤其在数据迁移、备份和恢复时。以下是对标题和描述中所述知识点的详细说明: 1. **复制表结构及数据到新表**: 使用...

    跨服务器复制SQL表中数据 跨服务器复制SQL表中数据

    本文将详细介绍如何通过SQL Server中的特定功能实现跨服务器复制表中的数据。 #### 跨服务器复制的概念 跨服务器复制是指在一个SQL Server实例上的数据被复制到另一个SQL Server实例的过程。这种复制可以是实时的...

    oracle复制表结构和复制表数据语句分享

    1. 复制表结构及其数据: 代码如下:create table table_name_new as select * from table_name_old2. 只复制表结构: 代码如下:create table table_name_new as select * from table_name_old where 1=2;或者: 代码...

    不同数据库之间复制表的数据的方法.pdf

    本文将详细介绍在不同数据库之间复制表数据的几种方法。 首先,当目标表已存在于目标数据库时,可以使用`INSERT INTO SELECT`语句来实现数据复制。这个语句的结构是: ```sql INSERT INTO 目标数据库..表 SELECT *...

    数据库表复制----------------------

    10. **备份与恢复**:复制表是备份策略的一部分,可以定期复制表以创建备份,以便在数据丢失时恢复。 在“DataCopy”这个文件中,可能包含了执行上述操作的具体脚本或工具,用于帮助用户实现数据库表的复制。理解...

    不同数据库之间复制表的数据的方法.docx

    以下是一些关于如何在不同数据库之间复制表数据的方法: 1. **基本INSERT语句**: 当目标表已存在时,可以使用`INSERT INTO SELECT`语句将源数据库表的数据复制到目标数据库表中。例如: ```sql INSERT INTO ...

    利用kettle的自定义java给sqlserver复制表

    总结,利用Kettle的自定义Java给SQL Server复制表是一种灵活且高效的方法,特别是当内置的步骤无法满足特定需求时。通过编写Java代码,我们可以定制化处理逻辑,解决复杂的数据迁移问题。在实践中,确保对Kettle API...

Global site tag (gtag.js) - Google Analytics