首页 > 解决方案 > 在 SQLite Studio 中更新 CSV 表

问题描述

我有一堆 CSV,每隔几天就会在我的计算机上本地更新。我想在 SQLite Studio 中刷新它们,但我找不到实际刷新的位置。有没有办法做到这一点?我能够刷新的唯一方法是完全删除表,然后以相同的名称重新导入它(因此查询仍然有效)。所有 CSV 和 Sqlite Studio 在我的计算机上都是本地的,我没有远程运行任何东西。

标签: sqlitesqlitestudio

解决方案


CSV 文件未以任何方式与 SQLiteStudio 链接。将数据导入表后,它就在表中,而不是在 CSV 文件中。如果您想使用 CSV 文件中的数据刷新表的内容,那么您需要完全按照您已经在做的事情进行,即重新导入。

import()SQLiteStudio 中内置的 SQL 函数是一个有用的工具,可以让这个可重复的任务变得不那么笨拙。您可以轻松删除旧数据并在一次执行中重新导入新数据:

delete from your_table;
select import('path/to/file.csv', 'CSV', 'your_table', 'UTF-8');

当然你需要调整你的参数。也可以有第 5 个(可选)参数指定导入选项,就像在导入对话框中一样。引用用户手册(https://github.com/pawelsalawa/sqlitestudio/wiki/User_Manual#built-in-sql-functions):

charsets() 返回 SQLiteStudio 支持的字符集列表(例如在 import() 函数的参数中使用)

import_formats() 返回 SQLiteStudio 支持的导入格式列表(取决于加载的导入插件)

import_options(format) 返回特定格式的当前使用的导入设置列表(格式必须是从 import_formats() 返回的格式之一)。每个设置单独一行。每一行都是一个setting_name=setting_value

import(file, format, table, charset, options)使用文件输入执行导入过程,选择导入插件的格式(必须是从 import_formats() 返回的值之一)。导入完成到表中。如果表不存在,则会创建它。字符集是可选的,并且必须是从 charsets() 返回的值之一(例如 'UTF-8')。它默认为 UTF-8。选项是可选的,并且必须与从 import_options() 返回的格式相同(每行一个选项,每行是 option_name=value),尽管可以只提供选项的子集 - 然后提供其余设置会保留。


推荐阅读