当前位置: 首页 > 编程笔记 >

DBeaver操作数据表的拷贝的实现

富昕
2023-03-14
本文向大家介绍DBeaver操作数据表的拷贝的实现,包括了DBeaver操作数据表的拷贝的实现的使用技巧和注意事项,需要的朋友参考一下

  通过DBeaver工具链接数据库后,我们就可以通过菜单或者命令功能来实现我们想要的目的。

  (一)创建数据库

  新建数据库,如下图所示:

——>

  在点击“确定”按钮后,可能会遇到失败,此时,我们可以直接通过sql语句来实现,在SQL控制台中输入CREATE DATABASE bien_test,执行sql命令就可以完成创建了。

  (二)创建数据表

  在bien_test数据库下新建表table_a(名称任意,只要是合法的名称即可),如下所示:

  当点击右下角的“保存”按钮时,提示这样的信息“Incorrect table definition; there can be only one auto column and it must be defined as a key”(自增长字段不是主键),此时需要在约束中指定id为主键,如下图所示:

  这样设置好后,在点击“保存”,就可以成功创建数据表了。接下来,我们通过菜单或快捷键的方式来创建一个跟tabel_a表格式类似的新表,先选中tabel_a,右击-->菜单-->复制,或者直接使用Ctrl+C快捷键,然后Ctrl+V粘贴,最后点击右下角的“保存”按钮就完成新表的创建了,我们将该表重新命名为tabel_b。注意了,通过复制、粘贴表的方式,只能是将表的各种配置信息进行拷贝,而表中的数据是没有进行拷贝的。

  (三)填充数据

  在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中填充两条示例数据了,如下图所示:

  (四)拷贝数据表

  1、通过菜单方式进行拷贝

  将数据表tabel_a中的数据拷贝到数据表tabel_b中,先选中tabel_b,右击,选择导入数据,如下图所示:

——>——>

——>

  点击上图的红色框,选择源端,我们选择了tabel_a表作为源端,如上图的右边所示。接着,按操作步骤一步一步点击即可。最终,tabel_b的数据如下图所示:

  就这样,就完成了数据表中数据的拷贝。此外,我们可以先不创建新表,直接通过源表来导出数据至一个运行中创建的新表,比如:bien_test数据库中暂时没有tabel_c表,我们事先不要创建tabel_c表,同样可以将tabel_a表的数据拷贝到tabel_c表中,具体操作如下:

  (1)选中tabel_a表,右击,选择“导出数据”,如下图所示:

——>——>

  (2)在上图中,在Target列中输入新表tabel_c名称,而Mapping这一列会自动默认选择create(表示新建表);接下来,按照界面提示按钮一步一步完成操作即可。tabel_c表中数据最终的效果与tabel_b表中数据一样。由此可见,在拷贝表数据时可以不用事先创建表,直接有源表导出至一个运行时创建的新表。

  2、通过sql命令进行拷贝

  (1)insert select方式

  该方式事先要新建一个表,假设为tabel_d表,才可以将tabel_a表数据拷贝到tabel_d表中。

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

  通过运行上述命令后完成了数据从tabel_a表拷贝到tabel_d表的过程,注意了tabel_a表中所有的数据都会被拷贝到tabel_d表中。

  (2)select into方式

  该方式可以不用事先创建表,假设为tabel_e表,通过select into方式也是可以完成数据表的拷贝。

select * into tabel_e from bien_test.tabel_a

  经测试,在MySQL中上述语句执行失败,此时我们需要稍作修改一下:

create table tabel_e as select * from bien_test.tabel_a

  上述命令会执行成功,最终也是完成了数据的拷贝。需要注意的是,这种方式的拷贝,主键信息是没有被复制过来的!!!

到此这篇关于DBeaver操作数据表的拷贝的实现的文章就介绍到这了,更多相关DBeaver 数据表拷贝内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍深拷贝浅拷贝的区别和实现?相关面试题,主要包含被问及深拷贝浅拷贝的区别和实现?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 数组的浅拷贝: 如果是数组,我们可以利用数组的一些方法,比如slice,concat方法返回一个新数组的特性来实现拷贝,但假如数组嵌套了对象或者数组的话,使用concat方法克隆并不完整,如果数组元素是基本类型,就会拷贝一份,互不影响,而如果是对象或数

  • 本文向大家介绍vue 使用lodash实现对象数组深拷贝操作,包括了vue 使用lodash实现对象数组深拷贝操作的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧~ 如果本篇文章对你有帮助的话,很高兴能够帮助上你。 补充知识:vue iview上传多文件只发送一次ajax请求,并根据上传进度显示上传进度条 前言 基于iview的上传组件(Upload)以及进度条组件

  • 本文向大家介绍Python中的复制操作及copy模块中的浅拷贝与深拷贝方法,包括了Python中的复制操作及copy模块中的浅拷贝与深拷贝方法的使用技巧和注意事项,需要的朋友参考一下 程序中常常需要复制一个对象, 按思路应该是这样的 已经复制好了,但是现在得改变一下第一个元素的值把它改成5 我改变了b的第一个元素的值,但是a的值也改变了,这是因为python中的=是引用.a和b指向的是相同的列表,

  • 获取Queue的元数据信息 方法参数queueName queueName : String : required 想要获取元数据的Queue的名称 方法返回GetQueueMetaResponse queueMeta : QueueMeta Queue的元数据信息, 具体如下: queueName : String Queue名称 queueAttribute : QueueAttribute

  • 本文向大家介绍C/C++ 浅拷贝和深拷贝的实例详解,包括了C/C++ 浅拷贝和深拷贝的实例详解的使用技巧和注意事项,需要的朋友参考一下 C/C++ 浅拷贝和深拷贝的实例详解 深拷贝是指拷贝对象的具体内容,而内存地址是自主分配的,拷贝结束之后,两个对象虽然存的值是相同的,但是内存地址不一样,两个对象也互不影响,互不干涉。 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间. 浅拷贝

  • 本文向大家介绍深拷贝与 浅拷贝的区别?相关面试题,主要包含被问及深拷贝与 浅拷贝的区别?时的应答技巧和注意事项,需要的朋友参考一下 浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。 深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。