当前位置: 奥门金沙手机娱乐网址 > 数据库 > 正文

Mysql复制表结构,mysql复制表以及复制数据库

时间:2019-10-08 22:57来源:数据库
(一)将旧表复制到新表 正文给大家大快朵颐了少数种复制表结构、表数据的亲自去做介绍,具体详细的情况请看下文吧。 1、CREATETABLE新表SELECT*FROM旧表; 1、复制表结构及数据到新表

(一)将旧表复制到新表

正文给大家大快朵颐了少数种复制表结构、表数据的亲自去做介绍,具体详细的情况请看下文吧。

1、CREATE TABLE新表 SELECT* FROM旧表;

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

该语句只是复制表结构以及数额,它不会复制与表关联的别样数据库对象,如索引,主键约束,外键约束,触发器等。

CREATE TABLE 新表SELECT * FROM 旧表

 

这种方法会将oldtable中有所的内容都拷贝过来,当然大家得以用delete from newtable;来删除。

  1. CREATE TABLE if not exists new_table

  2. SELECT col1, col2, col3

  3. FROM

  4. existing_table

  5. WHERE

  6. conditions;

然则这种情势的三个最倒霉的地点就是新表中尚无了旧表的primary key、Extra(auto_increment)等品质。要求和谐用"alter"增加,并且轻易搞错。

2、MySQL 数据库不援助 SELECT ... INTO 语句,但援助 INSERT INTO ... SELECT 

2、只复制表结构到新表

中间在动用select  into 语句与insert into select 语句时,新表要提前建构,並且新表与旧表的字段属性要一致才得以。

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

create table 新表 like 旧表;

或CREATE TABLE 新表LIKE 旧表

新表建立现在才方可选择下边的八个语句:

3、复制旧表的数额到新表(借使多少个表结构一样)

SELECT * INTO 新表   FROM  旧表;

INSERT INTO 新表SELECT * FROM 旧表

INSERT INTO  新表  SELECT * FROM  旧表;

4、复制旧表的数码到新表(即使三个表结构不等同)

只复制希望的列插入到另二个已存在的表中:

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

INSERT INTO  新表  (column_name(s))  SELECT   column_name(s)  FROM  旧表;

5、能够将表1布局复制到表2

实例:INSERT INTO Websites (name, country) SELECT app_name, country FROM apps;

SELECT * INTO 表2 FROM 表1 WHERE 1=2

 

6、能够将表1剧情总体复制到表2

(二)复制一样表结构

SELECT * INTO 表2 FROM 表1

 

7、 show create table 旧表;

对于mysql的复制同样表结构方式,有create table as 和create table like 三种

这么会将旧表的创导命令列出。大家只供给将该命令拷贝出来,改动table的名字,就可以建构二个一模二样的表

create table 新表 like 旧表;

8、mysqldump

create table 新表 as select * from 旧表 limit 0;

用mysqldump将表dump出来,改名字后再导回去只怕直接在指令行中运营

两岸的分别:

9、复制旧数据库到新数据库(复制全体表结构何况复制全体表数据)

 

#mysql -u root -ppassword
>CREATE DATABASE new_db;
#mysqldump old_db -u root -ppassword--skip-extended-insert --add-drop-table | mysql new_db -u root -ppassword

as用来成立一样表结构并复制源表数据

10、表不在同一数据库中(如,db1 table1, db2 table2)
sql: insert into db1.table1 select * from db2.table2 (完全复制)
insert into db1.table1 select distinct * from db2.table2(不复制重复纪录)
insert into tdb1.able1 select top 5 * from db2.table2 (前五条纪录)以上内容便是本文的方方面面呈报,希望大家喜欢。

like用来成立完整表结交涉总体目录

你或然感兴趣的作品:

  • MYSQL METADATA LOCK(MDL LOCK)MDL锁难题浅析
  • mysql中复制表结构的点子小结
  • MySQL复制表结构和内容到另一张表中的SQL语句
  • MySQL修改表结构操作命令总括
  • Navicat for MySQL导出表结构脚本的简练方法
  • MySQL优化之表结构优化的5大提议(数据类型选拔讲的很好)
  • mysql修改表结构格局实例详解
  • MySQL中期维修改表结构时需求注意的部分地点
  • MySQL数据源表结构图示
  • MySQL表结构改动你不可不知的Metadata Lock详解

oracle协助as,也是唯有表结构未有索引
oracle不支持like。

(三)MySQL复制表到另三个数据库

做客分歧数据库中的表:数据库名.表名 ,选用点 的花样。

神迹,您要将表复制到别的数据库。 在这种情形下,可应用以下语句:

  1. CREATE TABLE destination_db.new_table

  2. LIKE source_db.existing_table;

  3.  

  4. INSERT destination_db.new_table

  5. SELECT *

  6. FROM source_db.existing_table;

SQL

具体流程:

  1. CREATE DATABASE IF NOT EXISTS testdb;

SQL

附带,通过将其结构从示例数据库(yiibaidb)中的offices表复制出来,在testdb中创设了offices表。

  1. CREATE TABLE testdb.offices LIKE yiibaidb.offices;

SQL

其三,大家将数据从yiibaidb.offices表复制到testdb.offices表中。

  1. INSERT testdb.offices

  2. SELECT *

  3. FROM yiibaidb.offices;

 

(四)MySQL数据库导入导出

1、使用mysqldump工具将数据库导出并转储到sql文件:mysqldump -u 客商名 -p 数据库名 > 导出的文件名  mysqldump -h IP -u 客户名 -p 数据库名 > 导出的文书名

2 :(导出某张表的表结构不含数据)
mysqldump -h localhost -u root -p -d test pollution > G:arcgisworkspacezypdoctest.sql
3:(导出某张表的表结议和数目,不加-d)
mysqldump -h 127.0.0.1 -u root -p test pollution > G:arcgisworkspacezypdoctest.sql
mysqldump-u root -p yiibaidb >d:database_bakyiibaidb.sql
在那之中>表示导出。
2、导入sql文件
在MySQL中新建数据库,这时是空数据库,如新建三个名字为news的靶子数据库
create database if not exists news;
use news;
导入文本:
source 路线+导入的公文名; 
source d:mysql.sql;

 

要复制一个MySQL数据库,您要求举行以下步骤:

  • 首先,使用CREATE DATABASE讲话创造一个新的数据库。
  • 其次,使用mysqldump工具导出要复制的数据库的具备数据库对象和数目。
  • 其三,将SQL转储文件导入新的数据库。

用作三个演示,假若要把yiibaidb数据库复制到yiibaidb_backup数据库:

步骤1, 创建yiibaidb_backup数据库:

率先,登入到MySQL数据库服务器:

C:UsersAdministrator> mysql -u root -p
Enter password: **********

Shell

然后,使用CREATE DATABASE语句如下:

  1. CREATE DATABASE yiibaidb_backup;

SQL

第三,使用SHOW DATABASES指令验证:

  1. SHOW DATABASES

SQL

 

步骤2

 

使用mysqldump工具将数据库对象和数目转储到SQL文件中。

如若要将数据库对象和数据库转储到放在D:database_bak文本夹的SQL文件中,这里是以下命令:

  1. C:UsersAdministrator> mysqldump -u root -p yiibaidb > d:database_bakyiibaidb.sql

  2. Enter password: **********

SQL

多数,此命令提示mysqldump动用全数密码的root客户帐户签到到MySQL服务器,并将数据库对象和yiibaidb数据库的数码导出到d:database_bakyiibaidb.sql。 请注意,运算符(>)表示导出。

步骤2

d:database_bakyiibaidb.sql文本导入到yiibaidb_backup数据库。

C:UsersAdministrator> mysql -u root -p yiibaidb_backup < d:database_bakyiibaidb.sql
Enter password: **********

Shell

请注意,运算符(<)表示导入。

要证实导入,能够行使SHOW TABLES指令火速检查。

mysql> SHOW TABLES FROM yiibaidb_backup;

 

编辑:数据库 本文来源:Mysql复制表结构,mysql复制表以及复制数据库

关键词:

  • 上一篇:没有了
  • 下一篇:没有了