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

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

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

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

所描述的方法還請(qǐng)實(shí)際測(cè)試一下再使用.

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

CREATE TABLE 新表SELECT * FROM 舊表

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

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

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

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

或CREATE TABLE 新表LIKE 舊表

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

INSERT INTO 新表SELECT * FROM 舊表

4、復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(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 舊表;

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

8、mysqldump

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

9、復(fù)制舊數(shù)據(jù)庫(kù)到新數(shù)據(jù)庫(kù)(復(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ù)庫(kù)中(如,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ù)紀(jì)錄)
insert into tdb1.able1 select top 5 * from db2.table2 (前五條紀(jì)錄)

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;

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

3、拷貝部分字段和部分?jǐn)?shù)據(jù)

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

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

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

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

1. 表復(fù)制

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

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

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

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

思路:

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

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

清除 my_tab02 中的所有記錄

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

drop 掉臨時(shí)表 my_tmp

2. 合并查詢

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

union all

該操作符用于取得兩個(gè)結(jié)果集的并集,當(dāng)使用該操作符時(shí),不會(huì)取消重復(fù)行。

union

該操作符用于取得兩個(gè)結(jié)果集的并集,當(dāng)使用該操作符時(shí),會(huì)取消重復(fù)行。

3. 外連接

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

要求:顯示所有人的成績(jī),如果沒(méi)有成績(jī),也要顯示該人的姓名和id號(hào),成績(jī)顯示為空

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

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

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

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

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

問(wèn)題:列出部門(mén)名稱和這些部門(mén)的員工名稱和工作,同時(shí)要求顯示出那些沒(méi)有員工的部門(mén)

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

總結(jié)

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

相關(guān)文章

  • MySQL字段默認(rèn)值為NULL時(shí)的避坑指南

    MySQL字段默認(rèn)值為NULL時(shí)的避坑指南

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

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

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

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

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

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

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

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

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

    MySQL 5.0.16亂碼問(wèn)題的解決方法

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

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

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

    MySQL每天自動(dòng)增加分區(qū)的實(shí)現(xiàn)

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

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

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

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

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

最新評(píng)論