在SQLite Studio中更新CSV表

在SQLite Studio中更新CSV表,sqlite,sqlitestudio,Sqlite,Sqlitestudio,我有一堆CSV,每隔几天在我的计算机上本地更新一次。我想在SQLite Studio中刷新它们,但找不到实际刷新的位置。有这样做的选择吗?我能够刷新的唯一方法是完全删除表,然后以相同的名称重新导入它(因此查询仍然有效)。所有CSV和Sqlite Studio在我的计算机上都是本地的,我没有运行任何远程操作。CSV文件没有以任何方式与Sqlite Studio链接。将数据导入表后,它就位于表中,而不是CSV文件中。如果您想使用CSV文件中的数据刷新表的内容,那么您需要完全按照您已经完成的操作,即重

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

CSV文件没有以任何方式与Sqlite Studio链接。将数据导入表后,它就位于表中,而不是CSV文件中。如果您想使用CSV文件中的数据刷新表的内容,那么您需要完全按照您已经完成的操作,即重新导入

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

delete from your_table;
select import('path/to/file.csv', 'CSV', 'your_table', 'UTF-8');
当然,您需要调整参数。也可以有第5个(可选)参数指定导入选项,就像在导入对话框中一样。引用用户手册():

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

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

import\u options(format)
返回当前使用的特定格式的导入设置列表(该格式必须是从import\u formats()返回的格式之一)。每个设置在单独的行中。每行都是一个设置\名称=设置\值


import(文件、格式、表格、字符集、选项)
使用文件输入、格式选择导入插件(必须是从import\u formats()返回的值之一)执行导入过程。导入到表中。如果表不存在,则将创建该表。字符集是可选的,必须是从charset()返回的值之一(例如“UTF-8”)。它默认为UTF-8。选项是可选的,并且必须与从import_options()返回的格式相同(每行一个选项,每行都是option_name=value),尽管只提供选项的子集是可以的,但其余的设置将保留。

谢谢-让我试试这个。考虑到CSV已经知道数据存储的确切路径,我发现它不只是一个刷新CSV数据的选项是疯狂的。这基本上和你在上面发布的内容是一样的。这对我不起作用。当我尝试时:选择导入('C:\Users\Eval\Desktop\Stock\Stock\U data.csv','csv','test_table','UTF-8');我得到错误:[12:03:11]在数据库“master_database”上执行SQL查询时出错:函数import()的参数数目错误(
select import('C:\Users\evanl\Desktop\Stock\Stock_data.csv'、'csv'、'test_table'、'UTF-8'、'')会怎么样相反?这是可行的,但有一个问题-有没有办法加快速度?手动刷新表总共需要约30秒,但此导入行需要将近一个小时(91mb文件)。我不确定这是否是原因,但您可以尝试使用事务:
begin;选择导入('C:\Users\evanl\Desktop\Stock\Stock\u data.csv','csv','test\u table','UTF-8','';承诺。我不记得事务是否在内部使用。(当然它在UI对话框中,应该使用相同的路由,但我不是100%确定)。