通過(guò)dbeaver工具鏈接數(shù)據(jù)庫(kù)后,我們就可以通過(guò)菜單或者命令功能來(lái)實(shí)現(xiàn)我們想要的目的。
(一)創(chuàng)建數(shù)據(jù)庫(kù)
新建數(shù)據(jù)庫(kù),如下圖所示:
——>
在點(diǎn)擊“確定”按鈕后,可能會(huì)遇到失敗,此時(shí),我們可以直接通過(guò)sql語(yǔ)句來(lái)實(shí)現(xiàn),在sql控制臺(tái)中輸入create database bien_test,執(zhí)行sql命令就可以完成創(chuàng)建了。
(二)創(chuàng)建數(shù)據(jù)表
在bien_test數(shù)據(jù)庫(kù)下新建表table_a(名稱(chēng)任意,只要是合法的名稱(chēng)即可),如下所示:
當(dāng)點(diǎn)擊右下角的“保存”按鈕時(shí),提示這樣的信息“incorrect table definition; there can be only one auto column and it must be defined as a key”(自增長(zhǎng)字段不是主鍵),此時(shí)需要在約束中指定id為主鍵,如下圖所示:
這樣設(shè)置好后,在點(diǎn)擊“保存”,就可以成功創(chuàng)建數(shù)據(jù)表了。接下來(lái),我們通過(guò)菜單或快捷鍵的方式來(lái)創(chuàng)建一個(gè)跟tabel_a表格式類(lèi)似的新表,先選中tabel_a,右擊-->菜單-->復(fù)制,或者直接使用ctrl+c快捷鍵,然后ctrl+v粘貼,最后點(diǎn)擊右下角的“保存”按鈕就完成新表的創(chuàng)建了,我們將該表重新命名為tabel_b。注意了,通過(guò)復(fù)制、粘貼表的方式,只能是將表的各種配置信息進(jìn)行拷貝,而表中的數(shù)據(jù)是沒(méi)有進(jìn)行拷貝的。
(三)填充數(shù)據(jù)
在sql控制臺(tái)中輸入如下兩條語(yǔ)句:
1
2
|
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ù)了,如下圖所示:
(四)拷貝數(shù)據(jù)表
1、通過(guò)菜單方式進(jìn)行拷貝
將數(shù)據(jù)表tabel_a中的數(shù)據(jù)拷貝到數(shù)據(jù)表tabel_b中,先選中tabel_b,右擊,選擇導(dǎo)入數(shù)據(jù),如下圖所示:
——>
——>
——>
點(diǎn)擊上圖的紅色框,選擇源端,我們選擇了tabel_a表作為源端,如上圖的右邊所示。接著,按操作步驟一步一步點(diǎn)擊即可。最終,tabel_b的數(shù)據(jù)如下圖所示:
就這樣,就完成了數(shù)據(jù)表中數(shù)據(jù)的拷貝。此外,我們可以先不創(chuàng)建新表,直接通過(guò)源表來(lái)導(dǎo)出數(shù)據(jù)至一個(gè)運(yùn)行中創(chuàng)建的新表,比如:bien_test數(shù)據(jù)庫(kù)中暫時(shí)沒(méi)有tabel_c表,我們事先不要?jiǎng)?chuàng)建tabel_c表,同樣可以將tabel_a表的數(shù)據(jù)拷貝到tabel_c表中,具體操作如下:
(1)選中tabel_a表,右擊,選擇“導(dǎo)出數(shù)據(jù)”,如下圖所示:
——>
——>
(2)在上圖中,在target列中輸入新表tabel_c名稱(chēng),而mapping這一列會(huì)自動(dòng)默認(rèn)選擇create(表示新建表);接下來(lái),按照界面提示按鈕一步一步完成操作即可。tabel_c表中數(shù)據(jù)最終的效果與tabel_b表中數(shù)據(jù)一樣。由此可見(jiàn),在拷貝表數(shù)據(jù)時(shí)可以不用事先創(chuàng)建表,直接有源表導(dǎo)出至一個(gè)運(yùn)行時(shí)創(chuàng)建的新表。
2、通過(guò)sql命令進(jìn)行拷貝
(1)insert select方式
該方式事先要新建一個(gè)表,假設(shè)為tabel_d表,才可以將tabel_a表數(shù)據(jù)拷貝到tabel_d表中。
1
|
insert into bien_test.tabel_d( name , age, sex) select name , age, sex from bien_test.tabel_a |
通過(guò)運(yùn)行上述命令后完成了數(shù)據(jù)從tabel_a表拷貝到tabel_d表的過(guò)程,注意了tabel_a表中所有的數(shù)據(jù)都會(huì)被拷貝到tabel_d表中。
(2)select into方式
該方式可以不用事先創(chuàng)建表,假設(shè)為tabel_e表,通過(guò)select into方式也是可以完成數(shù)據(jù)表的拷貝。
1
|
select * into tabel_e from bien_test.tabel_a |
經(jīng)測(cè)試,在mysql中上述語(yǔ)句執(zhí)行失敗,此時(shí)我們需要稍作修改一下:
1
|
create table tabel_e as select * from bien_test.tabel_a |
上述命令會(huì)執(zhí)行成功,最終也是完成了數(shù)據(jù)的拷貝。需要注意的是,這種方式的拷貝,主鍵信息是沒(méi)有被復(fù)制過(guò)來(lái)的!!!
到此這篇關(guān)于dbeaver操作數(shù)據(jù)表的拷貝的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)dbeaver 數(shù)據(jù)表拷貝內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://www.cnblogs.com/bien94/p/12794634.html