MySQL複製表結構 表資料sql語句總結

來源:互聯網
上載者:User

複製整個表

 代碼如下 複製代碼
create table new_table select * from old_table;

複製表,不複製資料

 代碼如下 複製代碼

create table new_table select * from old_table where 0;

主鍵,索引,自增等其他額外特徵不會被帶到新表中。這點和其他的資料庫產品類似。

上面為核心兩句了

1、MySQL複製表結構及資料到新表

 代碼如下 複製代碼

CREATE TABLE `新表` SELECT * FROM `舊錶`

2、只複製表結構到新表

 代碼如下 複製代碼

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

CREATE TABLE `新表` LIKE `舊錶`

3、複製舊錶的資料到新表(假設兩個表結構一樣)

 代碼如下 複製代碼

INSERT INTO `新表` SELECT * FROM `舊錶`

4、複製舊錶的資料到新表(假設兩個表結構不一樣)

 代碼如下 複製代碼

INSERT INTO `新表`(欄位1,欄位2,…….) SELECT 欄位1,欄位2,…… FROM `舊錶`

5、show create table 舊錶;

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


時候這些MySQL介面工具會報錯,這個時候用命令列更好。比如複製一個表欄位資料到另外一個表的欄位,可以這麼寫:

 代碼如下 複製代碼


 UPDATE tb_1 INNER JOIN tb_2 ON tb_1.tid = tb_2.tid  SET tb_1.tcontent = tb_2.tcontent

下面是一個實際例子,將PHPCMS已產生的靜態頁面的連結寫入phpcms_content表中的url欄位:

先這樣拼湊出需要的url欄位列。

 代碼如下 複製代碼

SELECT CONCAT(FROM_UNIXTIME(inputtime,'%Y/%m%d'), '/', contentid, '.html') AS dt FROM phpcms_content ORDER BY contentid DESC

然後再查詢編輯器(navicat)中,將整段複製拷貝到phpcms_content表中的url列即可

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.