因此,我正在与一位教授合作,他希望我创建一个SQL数据库,其中包含来自csv文件的信息(来自纽约市交通局)。 我编写了将csv文件转换为相应的sql命令的程序。 所以我的问题是,如何使数据库自动化,以便每隔5分钟左右就有一个程序下载新的csv文件,通过csv-to-SQL命令程序运行它,然后 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有一个谷歌表,上面有数据。 我有一个 MySQL 数据库,它将是 Google 表格数据的精确副本。 我想这样做,所以当他们保存页面时,它将使用网站将从中提取数据的新数据自动更新 MySQL 数据库。 到目前为止,这是我的脚本。 我可以连接到数据库,但看不到如何使用工作表数据自动更新它。
var server = 'server ip';
var dbName = 'db name';
var username = 'user';
var password = 'pass';
var port = '3306';
function CreateConnection() {
var url = "jdbc:mysql://" + server + ":" + port + "/" + dbName;
var conn = Jdbc.getConnection(url, username, password);
conn.close();
}
这是我的专栏:
基于整个工作表自动更新 db 可能不是一个好主意,因为在填充工作表时会出现手动错误。 因此,我建议 go 使用基于表单的方法,在表单提交时,您有一个触发器,该触发器运行 function 以将该新条目插入数据库。 使用表单的好处是可以防止人为错误。 如果不是这样,那么您可以保留一个标志列,并根据它的值,您可以使用基于时间的触发器运行尚未处理到 db 中的那些,该触发器每 10 分钟运行一次。 所有这些对于防止数据库中的重复条目和避免手动错误都很重要。
我了解您有一个加载了列和值的工作表,并且您想将它们插入到现有的 MySQL 数据库中。 我看到您已经编写了与数据库的连接的脚本,因此您非常接近实现目标。
首先,您需要从表格中减去数据。 要管理它,您可以使用Range.getValues()
并将信息保存在一个变量中。 现在的目标是创建一个 SQL 语句,将所需的值插入到表中。 它可能看起来类似于这个:
INSERT INTO tableName (column1, column2, column3, column4, column5, column6, column7) VALUES ('column1Value', 'column2Value', 'column3Value', 'column4Value', 'column5Value', 'column6Value', 'column7Value');
牢记该结构,您可以通过替换占位符并更新值以包含先前保存的数据数组来轻松构建自己的语句。 然后,您只需将该语句发送到数据库。 为此,您可以使用JdbcConnection.createStatement()
和JdbcStatement.execute()
。 请问我任何其他疑问,以更好地记录这种方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.