MySQL:将常规txt / csv文件中的数据提取自动化到数据库

时间:2018-10-18 14:45:31

标签: mysql database query-optimization

简介

我已经到处搜索了这个问题,但是我并没有真正找到关于这个问题的知识来源,所以很抱歉这个问题对您来说很基本,但是对我来说,相当有趣我很难猜测要在Google上使用哪些关键字来检索正确的信息。

问题描述:

事实上,我遇到的问题是我不知道如何处理Windows环境中安装在笔记本电脑中的MySQL实例:

  1. 我在MySQL中有一个数据库,其中有50个表,其中15或20个表是具有原始数据的表。其他表是我从原始数据表生成的表,目的是为了正确创建允许我在PowerBI中分析数据的表。原始数据表由ERP数据库中的转储提供。 我的问题如下:

如何自动(通过笔式驱动器或任何其他传输机制)接收累积的txt / csv文件,将这些文件存储到文件夹中,然后使用新信息更新现有表的过程呢?是否有参考最佳实践来应对这种情况? 我如何通过连续的数据集成来保持数据库的良好状态,我的意思是,如何使数据库具有可伸缩性和响应能力? 您能指出一些有用的资料吗?

目前,我分2个步骤将数据导入表中

第一-我在Workbench导入向导的帮助下创建了表结构(我必须这样做,因为表有很多字段-实际上有几十个字段,并且这些字段都必须在数据库中)。我还在那些表中插入了主键和索引;

2nd-我设法使用LOAD DATA IN FILE命令将文件中的数据加载到这些表中。

  1. 使用导入向导创建的表的某些字段被创建为数据类型文本,在这种情况下不需要。我想将这些字段恢复为NVARCHAR(255)数据类型,但是此时有很多字段可以更改数据类型和多个表中的数据,我想知道是否可以编写查询来执行创建我需要的所有ALTER TABLES语句的工作。

所以我的问题是:在多列的多个字段中更改数据类型是否安全(在这种情况下,我想将具有数据类型文本的字段更改为NAVARCHAR(255))?做这个的最好方式是什么?您能帮我指出一些资源或最佳做法吗?

在此先感谢您的帮助。 干杯

1 个答案:

答案 0 :(得分:1)

您需要脚本语言,而不是UI。请参阅mysql命令行工具,操作系统的外壳等,等等。

  1. 删除数据库并重新创建
  2. 加载数据
  3. 按摩数据以使列比所提供的负载数据更干净
  4. 使用BI工具处理数据。

如果您要讨论步骤3,我们需要有关步骤2和步骤4之间需要进行哪些转换的详细信息。这包括提供步骤2和步骤4的格式或架构。