欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql復(fù)制表的幾種常用方式總結(jié)

 更新時間:2023年04月10日 11:26:21   作者:jerry-89  
mysql想必大家比較熟悉了,我們常見的crud sql想必大家也是手到拈來,下面這篇文章主要給大家介紹了關(guān)于mysql復(fù)制表的幾種常用方式,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

mysql復(fù)制表的幾種方式 

所描述的方法還請實際測試一下再使用.

1、復(fù)制表結(jié)構(gòu)及數(shù)據(jù)到新表

CREATE TABLE 新表SELECT * FROM 舊表

這種方法會將oldtable中所有的內(nèi)容都拷貝過來,當然我們可以用delete from newtable;來刪除。

 新表中沒有了舊表的primary key、Extra(auto_increment)等屬性。需要自己用"alter"添加,而且容易搞錯。

2、只復(fù)制表結(jié)構(gòu)到新表

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

或CREATE TABLE 新表LIKE 舊表

3、復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)一樣)

INSERT INTO 新表SELECT * FROM 舊表

4、復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)不一樣)

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

5、可以將表1結(jié)構(gòu)復(fù)制到表2

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

6、可以將表1內(nèi)容全部復(fù)制到表2

SELECT * INTO 表2 FROM 表1

7、 show create table 舊表;

這樣會將舊表的創(chuàng)建命令列出。我們只需要將該命令拷貝出來,更改table的名字,就可以建立一個完全一樣的表

8、mysqldump

用mysqldump將表dump出來,改名字后再導(dǎo)回去或者直接在命令行中運行

9、復(fù)制舊數(shù)據(jù)庫到新數(shù)據(jù)庫(復(fù)制全部表結(jié)構(gòu)并且復(fù)制全部表數(shù)據(jù))

#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

10、表不在同一數(shù)據(jù)庫中(如,db1 table1, db2 table2)

sql: insert into db1.table1 select * from db2.table2 (完全復(fù)制)
insert into db1.table1 select distinct * from db2.table2(不復(fù)制重復(fù)紀錄)
insert into tdb1.able1 select top 5 * from db2.table2 (前五條紀錄)

MySQL拷貝表的幾種方式

1、拷貝結(jié)構(gòu)-添加數(shù)據(jù)

## 拷貝結(jié)構(gòu)
CREATE TABLE newTable LIKE oldTable;
## 添加數(shù)據(jù)
INSERT INTO newTable SELECT * FROM oldTable;

2、拷貝結(jié)構(gòu)和數(shù)據(jù)

CREATE TABLE newTable SELECT * FROM oldTable;

注:新表中沒有了舊表的primary key、Extra(auto_increment)等屬性。需要自己用"alter"添加,而且容易搞錯。

3、拷貝部分字段和部分數(shù)據(jù)

## 拷貝部分字段
CREATE TABLE newTable AS  
(  
    SELECT 字段1, 字段2,... FROM oldTable
)
## 拷貝部分數(shù)據(jù)
CREATE TABLE 新表 AS<br>(<br>SELECT * FROM 舊表 WHERE id='1'

4、不同數(shù)據(jù)庫拷貝表

CREATE TABLE newTable LIKE base1.oldTable;  
CREATE TABLE base1.newTable LIKE base2.oldTable;

表復(fù)制/合并查詢/外連接

1. 表復(fù)制

自我復(fù)制數(shù)據(jù)(蠕蟲復(fù)制)

有時,為了對某個sql語句進行效率測試,我們需要海量的數(shù)據(jù)時,可以使用此法為表創(chuàng)建海量數(shù)據(jù)

演示如何自我復(fù)制

思考:如何去掉一張表中的重復(fù)數(shù)據(jù)

思路:

先創(chuàng)建一張臨時表 my_tmp,該表的結(jié)構(gòu)和 my_tab02 一樣

把 my_tmp 的記錄,通過 distinct 關(guān)鍵字 處理后 , 把記錄復(fù)制到 my_tmp

清除 my_tab02 中的所有記錄

把 my_tmp 中的記錄 復(fù)制到 my_tab02 中

drop 掉臨時表 my_tmp

2. 合并查詢

有時在實際應(yīng)用中,為了合并多個 select 語句的結(jié)果,可以使用集合操作符號 union,union all

union all

該操作符用于取得兩個結(jié)果集的并集,當使用該操作符時,不會取消重復(fù)行

union

該操作符用于取得兩個結(jié)果集的并集,當使用該操作符時,會取消重復(fù)行。

3. 外連接

左外連接:如果左側(cè)的表完全顯示我們就說是左外連接右外連接:如果右側(cè)的表完全顯示我們就說是右外連接舉例說明: 創(chuàng)建兩張表,一張存放名字,一張存放分數(shù)

要求:顯示所有人的成績,如果沒有成績,也要顯示該人的姓名和id號,成績顯示為空

若用多表查詢的方式,則無法查詢到成績?yōu)榭盏娜说慕Y(jié)果

用左外連接的方式來查找,就可以將成績?yōu)榭盏娜说拿忠诧@示出來

說明:左外連接就是左側(cè)表完全顯示,所以會把stu的內(nèi)容全部顯示出來

用右外連接的方式來查找,就可以將成績?yōu)榭盏娜说拿忠诧@示出來

說明:右外連接就是右側(cè)表完全顯示,即使和左表沒有匹配的記錄,也會把exam的內(nèi)容全部顯示出來

問題:列出部門名稱和這些部門的員工名稱和工作,同時要求顯示出那些沒有員工的部門

在實際開發(fā)中,我們絕大多數(shù)情況下使用的是內(nèi)連接

總結(jié)

到此這篇關(guān)于mysql復(fù)制表的幾種常用方式的文章就介紹到這了,更多相關(guān)mysql復(fù)制表方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL字段默認值為NULL時的避坑指南

    MySQL字段默認值為NULL時的避坑指南

    在 MySQL 中,字段默認值為 NULL 是一種常見設(shè)計,但如果你不小心,NULL 會成為你系統(tǒng)中最隱蔽的問題源頭之一,本文將通過真實 SQL 示例,帶你了解默認值為 NULL 時常見的“坑”,需要的朋友可以參考下
    2025-05-05
  • mysql高效查詢left join和group by(加索引)

    mysql高效查詢left join和group by(加索引)

    這篇文章主要給大家介紹了關(guān)于mysql高效查詢left join和group by,這個的前提是加了索引,以及如何在MySQL高效的join3個表 的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • MySQL索引失效的幾種情況小結(jié)

    MySQL索引失效的幾種情況小結(jié)

    本文主要介紹了MySQL索引失效的幾種情況小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Docker搭建MySQL并掛載數(shù)據(jù)的全過程

    Docker搭建MySQL并掛載數(shù)據(jù)的全過程

    環(huán)境搭建費時費力,但要必不可少,這篇文章主要給大家介紹了關(guān)于Docker搭建MySQL并掛載數(shù)據(jù)的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • MySQL?使用觸發(fā)器記錄用戶的操作日志問題

    MySQL?使用觸發(fā)器記錄用戶的操作日志問題

    使用?MySQL?觸發(fā)器可以記錄哪些用戶、什么時間對數(shù)據(jù)表進行了增、刪、改操作。如果執(zhí)行刪除操作,則記錄刪除之前的數(shù)據(jù)記錄;如果執(zhí)行更新操作,記錄更新之前的數(shù)據(jù)記錄,這篇文章主要介紹了MySQL?使用觸發(fā)器記錄用戶的操作日志,需要的朋友可以參考下
    2022-12-12
  • MySQL 5.0.16亂碼問題的解決方法

    MySQL 5.0.16亂碼問題的解決方法

    這篇文章主要介紹了MySQL 5.0.16亂碼問題的解決方法,需要的朋友可以參考下
    2015-10-10
  • 一文總結(jié)MySQL中數(shù)學(xué)函數(shù)有哪些

    一文總結(jié)MySQL中數(shù)學(xué)函數(shù)有哪些

    MySQL函數(shù)包括數(shù)學(xué)函數(shù)、字符串函數(shù)、日期和時間函數(shù)、條件判斷函數(shù)、系統(tǒng)信息函數(shù)、加密函數(shù)等,下面這篇文章主要給大家介紹了關(guān)于MySQL中數(shù)學(xué)函數(shù)有哪些的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • MySQL每天自動增加分區(qū)的實現(xiàn)

    MySQL每天自動增加分區(qū)的實現(xiàn)

    本文主要介紹了MySQL每天自動增加分區(qū)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • MySql 知識點之事務(wù)、索引、鎖原理與用法解析

    MySql 知識點之事務(wù)、索引、鎖原理與用法解析

    這篇文章主要介紹了MySql 知識點之事務(wù)、索引、鎖原理與用法,結(jié)合實例形式較為詳細的分析了mysql數(shù)據(jù)庫事務(wù)、索引、鎖的概念、原理、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-09-09
  • MySQL下PID文件丟失的相關(guān)錯誤的解決方法

    MySQL下PID文件丟失的相關(guān)錯誤的解決方法

    這篇文章主要介紹了MySQL下PID文件丟失的相關(guān)錯誤的解決方法,具體的提示可能會是"mysql PID file not found and Can’t connect to MySQL through socket mysql.sock",需要的朋友可以參考下
    2015-07-07

最新評論