使用gpython连接器尝试将文本文件中的数据加载到SQL表已经2周了。我能够成功加载数据而无需任何条件,例如:
loadData35= "LOAD DATA LOCAL INFILE '%s' " %completePath35 + "INTO TABLE %s" %tblname35
但是现在我只想在表为空的情况下加载数据。
我尝试使用if else语句,但由于SQL查询的限制而未能成功。以下是我的基本代码,仅在表为空(以前未加载)的情况下,才希望对load语句执行条件。
sql35= 'CREATE TABLE if not exists %s (Datum varchar(50), Uhrzeit varchar(13), UpsACT_V varchar(6), UpsPRE_V varchar(6), IpsACT_A varchar(6), IpsPRE_A varchar(6))' %(tblname35)
myCursor.execute(sql35)
myConnection.commit()
loadData35= "LOAD DATA LOCAL INFILE '%s' " %completePath35 + "INTO TABLE %s" %tblname35
myCursor.execute(loadData35)
myConnection.commit()
我很想知道我们是否可以使用python连接器进行条件SQL加载?
答案 0 :(得分:0)
MySQL,MariaDB和连接器目前不适用于您提到的条件操作。
您的最佳方法是:在一个查询表中查询内容,然后在下一个查询中执行加载。查找表是否存在且为空的最佳查询:
SELECT EXISTS (SELECT 1 FROM table);
这将查找表中的任何行。如果为空,则返回零;否则为1。一旦知道该表是否存在并为空,就可以加载它。