【问题标题】:How to fill database with data如何用数据填充数据库
【发布时间】:2015-01-27 22:49:59
【问题描述】:

我想问一下,如何不手动编写插入脚本。是否存在一些带有 GUI 的软件,我可以在其中编写数据并生成脚本?我在 oracle sqldeveloper 中做我的数据库,但我找不到类似的东西。谢谢你的建议。

【问题讨论】:

  • 对于可能是这个问题的有趣问题,在 StackOverflow 上要求工具或软件推荐被视为题外话。
  • 建立一个电子表格。使用右键单击表格节点将电子表格“导入”为新表格。 SQL Developer 将为您创建表并插入行。对于较大的数据集,将 XLSX 文件保存为 CSV 并采用相同的路径。

标签: sql database oracle oracle-sqldeveloper


【解决方案1】:

如果您的意思是要在表格中填充虚拟测试数据,有很多方法可以做到:

如果您可以访问数据字典,这是生成 20,000 条记录的一种简单方法:

insert into my_table
select
   --<number of columns you want
   -- use dbms_random if you would like> 
from
   dba_objects a,
   dba_objects b
where
   rownum<=20000;

这将笛卡尔连接与 Oracle dba_objects 一起安装的大型字典视图之一结合使用。

PS:大表/视图上的笛卡尔连接可能会变得非常慢,因此请善用判断来限制结果集。

OTOH,如果您想要将特定数据而不是一些随机的东西插入到表中,那么您会被 Oracle 的 INSERT..VALUES 语法困住,您可以在其中为每条记录创建一个 INSERT 语句。您可以通过使用 Notepad++、sublime 等编辑器中可用的宏等功能自动复制/粘贴内容来减少转换数据(CSV 或其他标准格式)的工作量。

还有其他选项,例如 SQL*Loader,您需要在其中编写“控制文件”来告诉工具如何将数据从外部文件加载到表中。这种方法比INSERT..VALUES 方法更好更快。

【讨论】:

  • 如果您无法访问dba_objects,您将能够访问all_objects,并且可能有足够的行来满足您的需求。
猜你喜欢
  • 2013-09-27
  • 2019-01-17
  • 2011-01-12
  • 2011-11-04
  • 1970-01-01
  • 2020-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-02-14
相关资源
最近更新 更多