标签: csv

使用 LOAD DATA INFILE 在 mysql 中加载数据,复制安全吗?

我正在尝试将数据以 CSV 文件形式加载到 mysql 数据库中。我发现我们可以使用 LOAD DATA INFILE 命令来做到这一点。但根据 mysql 文档,它不是复制安全的。(见这里

有没有比通过应用程序更好的方法来做到这一点?

mysql replication import csv

3
推荐指数
1
解决办法
5750
查看次数

更正查询的“行终止于”

我正在尝试查询两个数据表并将它们发送到一个 csv 文件以上传到网站。但是我在格式化打球时遇到了麻烦。我希望将标题分成几列,然后将相关数据与数据正文中的列对齐。

我目前最接近实现我的目标 -

FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY ''
Run Code Online (Sandbox Code Playgroud)

哪个返回 -

从 mysql 工作台中的查询返回的数据

但是你可以看到我的问题。任何带有 '\' 的部件号都会渲染到错误的列中,并且数据与标题不对齐。

现在请记住,表格总是每秒更新一次,我无法控制数据的上传方式。我无法从 part# 中删除 '\'。
我需要一种忽略“\”的解决方法。

这很难解释,所以......

TLDR:- 我需要数据像图片中的大多数行一样排列,“字段/行终止于”参数是什么?

mysql mysql-workbench excel csv

2
推荐指数
1
解决办法
1万
查看次数

Oracle SQL Developer:导出为 CSV 时设置 <null> 值

在 Oracle SQL Developer 中导出为 CSV 时,值将替换为“”。我希望它们被导出为字符串null。这可以在任何地方配置吗?

希望的例子:

"STARTDATE", "ENDDATE"
"2017-03-16 00:00:00", null
Run Code Online (Sandbox Code Playgroud)

代替:

"STARTDATE", "ENDDATE"
"2017-03-16 00:00:00", ""
Run Code Online (Sandbox Code Playgroud)

导出是通过运行查询来执行的,右键单击网格中显示的数据并选择“导出...”

oracle export oracle-sql-developer csv

2
推荐指数
1
解决办法
4656
查看次数

将 2GB csv 文件导入 SQL Server 2008 的快速方法

我是数据库新手,我正在使用 SSMS 2008 R2 从.csv文件中导入 2GB 的数据。

导入大约需要 115 分钟。

任何人都可以让我知道执行此导入的更好方法。

sql-server ssms import csv

2
推荐指数
1
解决办法
2373
查看次数

将大型 PostgreSQL 表复制到行数有限的多个 csv 文件

有没有办法使用 sql 函数或现有的 psql 函数将非常大的表复制到多个 csv 文件中并指定输出文件中允许的最大行数?

例如,一个 3500 万行的表将输出 35 个 100 万行的 csv 文件。

postgresql csv

2
推荐指数
1
解决办法
4457
查看次数

PostgreSQL:日期/时间字段值超出范围

软件:

Linux cjz-eshop1-p 5.4.0-33-generic #37-Ubuntu SMP Thu May 21 12:53:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
psql (PostgreSQL) 12.3 (Ubuntu 12.3-1.pgdg18.04+1)
Run Code Online (Sandbox Code Playgroud)

由于将 CSV 导入我的服务器上的数据库,我收到错误。

ERROR: current transaction is aborted, commands ignored until end of transaction block
Price 244385 ERROR: date/time field value out of range: "30.06.2020"
  Hint: Perhaps you need a different "datestyle" setting.
  Position: 160
ERROR: current transaction is aborted, commands ignored until end of transaction block
Price 244386 ERROR: date/time field value out of range: "30.06.2020"
  Hint: Perhaps …
Run Code Online (Sandbox Code Playgroud)

postgresql import date-format csv

2
推荐指数
1
解决办法
5万
查看次数

为什么我的数据库结构和 SELECT 操作会生成 NULL?

我对数据库问题没有太多经验,所以请原谅文字墙,我相信上下文对于理解问题和目标很重要。


我每天都会从另一个系统收到一个 CSV 文件,我希望将其保留在 Microsoft SQL Server 上运行的数据库中。为了实现这一点,我每天安排一个 PowerShell 脚本,它使用 bcp 实用程序将 CSV ( accounts.csv ) “加载”到accounts_stage具有 CSV 文件“精确”布局的表 ( ) 中。此外,我将时间戳“写入”到另一个表 ( import_stage) 中。该accounts_stage表具有触发器集,并且 bcp 配置为触发该触发器。

导入完成后,我想“规范化”数据。对于一个基本示例,假设这仅涉及合同编号(在 CSV 文件中名为“Vnr”的字段),它是一个字符串。我有另一个表 ( contracts),它被触发器填充:

INSERT INTO dzp.contractid(vnr)
SELECT DISTINCT
    a.Vnr
FROM dzp.accounts_stage a
WHERE NOT EXISTS(
    SELECT id.vnr
    FROM dzp.contractid id
)
Run Code Online (Sandbox Code Playgroud)

这应该并且似乎完成了将所有导入到表中的合同编号contractidscontractids.contractId是 BIGINT PRIMARY KEY、IDENTITY 和自动增量。

我将导入元数据添加到我的表中,如下所示:

   CREATE TABLE #IMPORTMETADATA
            ([importid] bigint
            ,[generated_timestamp] datetime …
Run Code Online (Sandbox Code Playgroud)

trigger sql-server-2008 sql-server import csv

1
推荐指数
1
解决办法
107
查看次数

sql脚本中的foreach循环?

在 powershell 中,我用来foreach通过目标列表运行一个函数。

我想知道是否有任何类似于foreachsql 的东西,所以我可以通过我选择的多个数据库运行相同的查询并将结果保存到一个 csv 文件?

sql-server t-sql csv

1
推荐指数
1
解决办法
9739
查看次数

为什么BULK INSERT按随机顺序插入数据?

我有一个csv包含 350,000 行的文件。想要按照与csv文件中相同的顺序将数据插入到临时表中。我正在尝试BULK INSERT使用:

BULK INSERT ##AllRows
    FROM @FilePath
    WITH
    (
    FIELDTERMINATOR = '\n'
    )
Run Code Online (Sandbox Code Playgroud)

不幸的是,BULK INSERT按随机顺序插入数据。我每次执行的标题都在不同的行中。我在 SQL Server 2016 上运行它。是否有可能在旧版本的 SQL Server 中顺序方式有所不同?

使用该FIRSTROW选项不会将标题识别为文件的第一行。文件没有任何我们可以订购的列。在文件中,标题始终位于第一行。

这可能是巧合,但即使如此FIRSTROW=2,我的标题也有可能出现在表格中。我查了一下。看起来csv文件包含的行数越多,插入到表中的机会就越随机。

sql-server csv bulk-insert

1
推荐指数
1
解决办法
7522
查看次数

对两个没有主键的 csv 文件进行比较

我想知道在 SSIS 中是否有一种方法可以比较两个没有引用键的 csv 文件(具有相同的结构)以使记录唯一。

根据我的意思给你一个更好的画面;在初始加载时,我们将数据从 csv 文件加载到表中,在后续加载中,我们将获得另一个可以有不同记录的 csv 文件(相同格式)。我们应该比较表中的内容与新版本的 csv 文件中存在的内容,并且只加载更改的子集。如果有新记录,应该插入,如果更新,应该更新,如果源中的记录被删除,它应该在表中标记为不活动。

现在我的问题是:

  • 有什么办法可以在 SSIS 中比较两个 csv 文件,而没有使记录唯一的键?
  • 我们如何比较 SQL Server 中的两个表,而没有使记录唯一的键?

csv文件的数据量相当大,超过2000万条记录!

任何想法表示赞赏。

谢谢,

纳兹拉

sql-server migration ssis csv

0
推荐指数
1
解决办法
5066
查看次数

RDBMS:存储数据的正确方法 - 逗号分隔的变量还是不同的字段或表?

我似乎无法找到答案的基本问题。我有一个数据库,用于存储收据中的行项目以及用户名和收据编号。

现在该lineItem列只是一长串由逗号分隔的数据(原始文件似乎只是一个 Excel 文件)。此信息在 PHP 脚本中解析,以便在前端查看。

该表如下所示:

|----------|----------|----------|
|lineItem  |receiptID |customerID|
|----------|----------|----------|
|CD, DVD,  |001       |User01    |
|----------|----------|----------|
|CD, CD,   |002       |User02    |
|DVD, usb, |          |          |
|----------|----------|----------|
Run Code Online (Sandbox Code Playgroud)

最终,这是不好的做法吗?这些lineItem值是否应该链接到另一个表中的相关值?

mysql database-design relational-theory csv codds-rules

0
推荐指数
1
解决办法
128
查看次数

批量插入 csv 文件错误

我正在尝试将BULK INSERTcsv 文件发送到我的 SQL Server。

使用我在这个 SO question上找到的代码,我跑了:

BULK INSERT Temp 
FROM 'c:\csv\student.csv '  
WITH ( 
       FIELDTERMINATOR = ',', 
       ROWTERMINATOR   = '\n', 
       FIRSTROW        = 2 
     ) 
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

消息 208,级别 16,状态 82,第 1 行
无效的对象名称 'Temp'。

我能做什么?

sql-server csv bulk-insert

-3
推荐指数
1
解决办法
957
查看次数