首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从csv导入mysql --良好的数据库结构

问将数据从csv导入mysql --良好的数据库结构
EN

Database Administration用户
提问于 2013-01-07 08:35:44
回答 1查看 734关注 0票数 1

我收集了一组csv文件,其中包含以下54列的度量:

代码语言:javascript
复制
SITE (string)
TIME (integer as yyyymmddhh)
PROD (double)
EST.0 (double)
...
EST.50 (double)

我想把它读到mysql数据库中。我更喜欢一种结构,允许我计算EST.0值的平均值和方差。EST.50,每一行。

对于这些数据来说,什么才是好的数据库结构?我是否可以保持这些列的原样,还是应该只有一个“值”列?如果是前者,我如何才能得到我想要的平均值和方差?

从阅读相关的问题来看,拥有这么多的值列似乎不是一个好主意,所以我在考虑为所有的双值设置一个" value“列,加上一个标识符的"est_ID”列,使用-1或NULL来表示"PROD“值--这有意义吗?

关于日期-时间列- mysql会理解它吗?或者我需要提供一些关于日期-时间格式的信息?

至于处理多个文件,我想一个名为mysqlimport的bash脚本应该做得很好吗?

谢谢。

米哈尔

EN

回答 1

Database Administration用户

回答已采纳

发布于 2013-01-07 09:57:12

为此,您需要有两个数据库表。

一个具有id int/bigint自动增量、站点、时间和prod的表。id是灵长类钥匙。

一个带有id的表(与前一个表相同,但没有自动增量,它指的是第一个表中的id ) EST和EST的数量。该表的主键将跨越两列,id和EST的编号(这可能需要对您正在使用的数据库表创建工具进行一些修改)。

至于日期列,没有mysql不理解这种格式,它有自己的日期和日期格式的列。在我们这里,我们使用unix时间戳,并将它们作为整数或bigints存储在数据库中。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/31537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档