溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用DBeaver怎么對數(shù)據(jù)表進行拷貝

發(fā)布時間:2020-11-30 15:18:05 來源:億速云 閱讀:587 作者:Leah 欄目:開發(fā)技術

利用DBeaver怎么對數(shù)據(jù)表進行拷貝?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

(一)創(chuàng)建數(shù)據(jù)庫

  新建數(shù)據(jù)庫,如下圖所示:

利用DBeaver怎么對數(shù)據(jù)表進行拷貝——>利用DBeaver怎么對數(shù)據(jù)表進行拷貝

  在點擊“確定”按鈕后,可能會遇到失敗,此時,我們可以直接通過sql語句來實現(xiàn),在SQL控制臺中輸入CREATE DATABASE bien_test,執(zhí)行sql命令就可以完成創(chuàng)建了。

 ?。ǘ﹦?chuàng)建數(shù)據(jù)表

  在bien_test數(shù)據(jù)庫下新建表table_a(名稱任意,只要是合法的名稱即可),如下所示:

利用DBeaver怎么對數(shù)據(jù)表進行拷貝

  當點擊右下角的“保存”按鈕時,提示這樣的信息“Incorrect table definition; there can be only one auto column and it must be defined as a key”(自增長字段不是主鍵),此時需要在約束中指定id為主鍵,如下圖所示:

利用DBeaver怎么對數(shù)據(jù)表進行拷貝

  這樣設置好后,在點擊“保存”,就可以成功創(chuàng)建數(shù)據(jù)表了。接下來,我們通過菜單或快捷鍵的方式來創(chuàng)建一個跟tabel_a表格式類似的新表,先選中tabel_a,右擊-->菜單-->復制,或者直接使用Ctrl+C快捷鍵,然后Ctrl+V粘貼,最后點擊右下角的“保存”按鈕就完成新表的創(chuàng)建了,我們將該表重新命名為tabel_b。注意了,通過復制、粘貼表的方式,只能是將表的各種配置信息進行拷貝,而表中的數(shù)據(jù)是沒有進行拷貝的。

 ?。ㄈ┨畛鋽?shù)據(jù)

  在SQL控制臺中輸入如下兩條語句:

insert into bien_test.tabel_a(name, age, sex) values ('Jack', 12, '男');
insert into bien_test.tabel_a(name, age, sex) values ('Anny', 20, '女');

  這樣就可以在table_a中填充兩條示例數(shù)據(jù)了,如下圖所示:

利用DBeaver怎么對數(shù)據(jù)表進行拷貝

 ?。ㄋ模┛截悢?shù)據(jù)表

  1、通過菜單方式進行拷貝

  將數(shù)據(jù)表tabel_a中的數(shù)據(jù)拷貝到數(shù)據(jù)表tabel_b中,先選中tabel_b,右擊,選擇導入數(shù)據(jù),如下圖所示:

利用DBeaver怎么對數(shù)據(jù)表進行拷貝——>利用DBeaver怎么對數(shù)據(jù)表進行拷貝——>

利用DBeaver怎么對數(shù)據(jù)表進行拷貝——>利用DBeaver怎么對數(shù)據(jù)表進行拷貝

  點擊上圖的紅色框,選擇源端,我們選擇了tabel_a表作為源端,如上圖的右邊所示。接著,按操作步驟一步一步點擊即可。最終,tabel_b的數(shù)據(jù)如下圖所示:

利用DBeaver怎么對數(shù)據(jù)表進行拷貝

  就這樣,就完成了數(shù)據(jù)表中數(shù)據(jù)的拷貝。此外,我們可以先不創(chuàng)建新表,直接通過源表來導出數(shù)據(jù)至一個運行中創(chuàng)建的新表,比如:bien_test數(shù)據(jù)庫中暫時沒有tabel_c表,我們事先不要創(chuàng)建tabel_c表,同樣可以將tabel_a表的數(shù)據(jù)拷貝到tabel_c表中,具體操作如下:

 ?。?)選中tabel_a表,右擊,選擇“導出數(shù)據(jù)”,如下圖所示:

利用DBeaver怎么對數(shù)據(jù)表進行拷貝——>利用DBeaver怎么對數(shù)據(jù)表進行拷貝——>

利用DBeaver怎么對數(shù)據(jù)表進行拷貝

 ?。?)在上圖中,在Target列中輸入新表tabel_c名稱,而Mapping這一列會自動默認選擇create(表示新建表);接下來,按照界面提示按鈕一步一步完成操作即可。tabel_c表中數(shù)據(jù)最終的效果與tabel_b表中數(shù)據(jù)一樣。由此可見,在拷貝表數(shù)據(jù)時可以不用事先創(chuàng)建表,直接有源表導出至一個運行時創(chuàng)建的新表。

  2、通過sql命令進行拷貝

 ?。?)insert select方式

  該方式事先要新建一個表,假設為tabel_d表,才可以將tabel_a表數(shù)據(jù)拷貝到tabel_d表中。

insert into bien_test.tabel_d(name, age, sex) select name, age, sex from bien_test.tabel_a

  通過運行上述命令后完成了數(shù)據(jù)從tabel_a表拷貝到tabel_d表的過程,注意了tabel_a表中所有的數(shù)據(jù)都會被拷貝到tabel_d表中。

 ?。?)select into方式

  該方式可以不用事先創(chuàng)建表,假設為tabel_e表,通過select into方式也是可以完成數(shù)據(jù)表的拷貝。

select * into tabel_e from bien_test.tabel_a

  經(jīng)測試,在MySQL中上述語句執(zhí)行失敗,此時我們需要稍作修改一下:

create table tabel_e as select * from bien_test.tabel_a

看完上述內(nèi)容,你們掌握利用DBeaver怎么對數(shù)據(jù)表進行拷貝的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI