mysql複製表以及複製資料庫

来源:https://www.cnblogs.com/snake23/archive/2018/09/05/9593887.html
-Advertisement-
Play Games

(一)將舊表複製到新表 1、CREATE TABLE新表 SELECT* FROM舊表; 該語句只是複製表結構以及數據,它不會複製與表關聯的其他資料庫對象,如索引,主鍵約束,外鍵約束,觸發器等。 CREATE TABLE if not exists new_table SELECT col1, co ...


(一)將舊表複製到新表

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

該語句只是複製表結構以及數據,它不會複製與表關聯的其他資料庫對象,如索引主鍵約束外鍵約束觸發器等。

 

  1. CREATE TABLE if not exists new_table
  2. SELECT col1, col2, col3
  3. FROM
  4. existing_table
  5. WHERE
  6. 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  舊表;

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

 

(二)複製相同表結構

 

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

create table 新表 like 舊表;

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

二者的區別:

 

as用來創建相同表結構並複製源表數據

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

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:\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資料庫,您需要執行以下步驟:

  • 首先,使用CREATE DATABASE語句創建一個新的資料庫。
  • 其次,使用mysqldump工具導出要複製的資料庫的所有資料庫對象和數據。
  • 第三,將SQL轉儲文件導入新的資料庫。

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

步驟1, 創建yiibaidb_backup資料庫:

首先,登錄到MySQL資料庫伺服器:

C:\Users\Administrator> 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:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql
  2. 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;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MySQL實現排名並查詢指定用戶排名功能,併列排名功能 表結構: CREATE TABLE test.testsort ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) DEFAULT 0 COMMENT '用戶id', score decimal( ...
  • 1,索引 2.exists 代替 in 3.SQL優化 4、觸發器[表上創建的] 5、存儲過程【創建在資料庫上的】 6、資料庫引擎ENGINE【MYISAM,INNODB】 7、MySQL如何修改密碼 ...
  • 服務端與瀏覽器收發信息: socket 套接字 是應用層和傳輸層之間一個虛擬層,是一個介面. 列印一下收到的消息是什麼>??? 那瀏覽器收到的消息是什麼? 通過以上對比,發現收發消息的格式都是一樣的 即為 HTTP協議格式 每個HTTP請求和響應都遵循相同的格式,一個HTTP包含Header和Bod ...
  • 1.需求簡介 最近開發人員需要進行一批數據進行生產上SQL語句耗時過長問題的驗證與優化。所以在性能測試庫中批量建造數據,由於交易本身業務邏輯過於複雜以及需要各種授權,最後決定採用插表的方式完成。 2.所用工具 DbVisualizer 10.0.14(已破解)(並不需要本地存在DB2客戶端,DbVi ...
  • 背景及原理 資料庫的備份是災難恢復的最後一道屏障,不管什麼類型的資料庫都需要設置資料庫備份,MongoDB也不例外。MongoDB 3.0 後 ,資料庫可以採用Wiredtiger存儲引擎後(3.2 版本預設),在此環境下通過mongodump 備份後,產生的備份文件要遠大於數據存儲文件的大小。此外 ...
  • 第一步、以Oracle帳戶進入Linux系統 第二步、執行以下命令查看資料庫監聽器的狀況 : 或者 查看資料庫埠是否被監聽 (預設1521) 第三步、停止資料庫監聽器 : 第四步、以管理員身份連接並關閉資料庫 : 第五步、退出SqlPlus : 或者 第六步、重新啟動資料庫監聽 : 第七步、重新以 ...
  • 如果是本地 :sqlplus system/xxx(用戶名/密碼) 遠程到伺服器, sqlplus system/xxx(用戶名/密碼) @IP:port/orcl(orcl為資料庫實例) ...
  • 首先我們複習第一天的主要內容: sql分類 知識概述 1) DDL(Data Definition Language)數據定義語言 用來定義資料庫對象:資料庫,表,列等。關鍵字:create, drop,alter 等 2) DML(Data Manipulation Language)數據操作語言 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...