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