MySQL有办法直接从csv文件中读取而不是导入吗?

e5nqia27  于 5个月前  发布在  Mysql
关注(0)|答案(1)|浏览(51)

Postgresql有一个外来表的概念,可以使用csv文件作为表源。在MySQL中有没有办法做到这一点?在我的情况下,我不想导入文件,因为它每分钟都在变化(通过crontab重写)。

CREATE FOREIGN TABLE IF NOT EXISTS rawdata.system_ps (
  pid text,
  started text,
  cpu_pcnt text,
  mem_pcnt text,
  command text
) 
SERVER "import" options (
  FILENAME '/var/tmp/system_ps.csv',
  FORMAT 'csv',
  HEADER 'true'
);

字符串

vyu0f0g1

vyu0f0g11#

MySQL支持CSV存储引擎。在手册中有描述:https://dev.mysql.com/doc/refman/8.0/en/csv-storage-engine.html
语法与您显示的示例不同。您不能指定文件名或路径。它必须位于数据目录中,并且必须位于与表名匹配的文件中。您的外部cron进程必须能够访问该文件。
但它满足了每次查询时从CSV文件中阅读数据的要求,因此如果外部进程更新了文件,下一个SQL查询将读取更新后的数据。CSV文件不会导入MySQL中的另一个存储引擎。
阅读我链接到的手册页面以了解更多细节。

相关问题