mysql複製表以及複製資料庫

2021-08-05 22:15:28 字數 3691 閱讀 8759

(一)將舊表複製到新錶

1、create table新錶 select* from舊表;

該語句只是複製表結構以及資料,它不會複製與表關聯的其他資料庫物件,如索引,

主鍵約束

,外來鍵約束

,觸發器

等。

create

table if not exists new_table

select col1, col2, col3

from

existing_table

where

conditions;

2、mysql 資料庫不支援 select ... into 語句,但支援 insert into ... select

其中在使用select  into 語句與insert into select 語句時,新錶要提前建立,並且新錶與舊表的字段屬性要一樣才可以。

create table 新錶 like 舊表;

新錶建立之後才可以使用下面的兩個語句:

select * into 新錶   from  舊表;

insert into  新錶  select * from  舊表;

只複製希望的列插入到另乙個已存在的表中:

insert into  新錶  (column_name(s))  select   column_name(s)  from  舊表;

(二)複製相同表結構

對於mysql的複製相同表結構方法,有create table as 和create table like 兩種

create table 新錶 like 舊表;

create table 新錶 as select * from 舊表 limit 0;

二者的區別:

as用來建立相同表結構並複製源表資料

like用來建立完整表結構和全部索引

oracle支援as,也是只有表結構沒有索引

oracle不支援like。

(三)mysql複製表到另乙個資料庫

訪問不同資料庫中的表:資料庫名.表名 ,採用點 的形式。

有時,您要將表複製到其他資料庫。 在這種情況下,可使用以下語句:

create table destination_db.new_table 

like source_db.existing_table;

insert destination_db.new_table

select *

from source_db.existing_table;

sql

具體流程:

create database if not exists testdb;
sql

其次,通過將其結構從示例資料庫(yiibaidb)中的offices表複製出來,在testdb中建立了offices表。

create table testdb.offices like yiibaidb.offices;
sql

第三,我們將資料從yiibaidb.offices表複製到testdb.offices表中。

insert testdb.offices

select *

from yiibaidb.offices;

2 :(匯出某張表的表結構不含資料)

mysqldump -h localhost -u root -p -d test pollution > g:\arcgisworkspace\zypdoc\test.sql

3:(匯出某張表的表結構和資料,不加-d)

mysqldump -h 127.0.0.1 -u root -p test pollution > g:\arcgisworkspace\zypdoc\test.sql

mysqldump-u root -p yiibaidb >d:\database_bak\yiibaidb.sql

其中》表示匯出。

2、匯入sql檔案

在mysql中新建資料庫,這時是空資料庫,如新建乙個名為news的目標資料庫

create database if not exists news;

use news;

匯入檔案:

source 路徑+匯入的檔名; 

source d:\mysql.sql;

要複製乙個mysql資料庫,您需要執行以下步驟:

作為乙個演示,假設要把yiibaidb資料庫複製到yiibaidb_backup資料庫:

步驟1, 建立yiibaidb_backup資料庫:

首先,登入到mysql資料庫伺服器:

c:\users\administrator> mysql -u root -p

enter password: **********

shell

然後,使用create database語句如下:

create

database yiibaidb_backup;

sql

第三,使用show databases命令驗證:

show

databases

sql

步驟2使用mysqldump工具將資料庫物件和資料轉儲到sql檔案中。

假設要將資料庫物件和資料庫轉儲到位於d:\database_bak資料夾的sql檔案中,這裡是以下命令:

c:\users\administrator> mysqldump -u root -p yiibaidb >

d:\database_bak\yiibaidb.sql

enter password: ***

****

***

sql

基本上,此命令指示mysqldump使用具有密碼的root使用者帳戶登入到mysql伺服器,並將資料庫物件和yiibaidb資料庫的資料匯出到d:\database_bak\yiibaidb.sql。 請注意,運算子(>)表示匯出。

步驟2將d:\database_bak\yiibaidb.sql檔案匯入到yiibaidb_backup資料庫。

c:\users\administrator> mysql -u root -p yiibaidb_backup < d:\database_bak\yiibaidb.sql

enter password: **********

shell

請注意,運算子(<)表示匯入。

要驗證匯入,可以使用show tables命令快速檢查。

mysql>

show

tables

from yiibaidb_backup;

資料庫 複製表

資料庫把一張表完整無缺的複製到另外一張表中 簡單的 insert into 目標表 select from 原表 兩張表結構必須相同 這種方法限制太多 雖然文字多 但還是很明白的,一看就會 1 滑鼠右擊要複製的表,選擇 編寫表指令碼為 create到 新建查詢編輯器視窗 命令 2 在查詢編輯器視窗中...

資料庫 複製表

完全的複製mysql的資料表,包括表的結構,索引,預設值等 1 只複製表結構到新錶 create table 新錶 select from 舊表 或者create table 新錶 like 舊表 特殊注意區別兩種方法的不同 前一種方式是複製時的主鍵型別和自增方式是不會複製過去的,而後一種方式是把舊...

mysql複製表資料 MySQL 複製表結構

介紹 有時候我們需要原封不動的複製一張表的表結構來生成一張新錶,mysql提供了兩種便捷的方法。例 create tabletb base idint not null primary key,namevarchar 10 keyix name name engine myisam charset ...