Python 我需要什么样的SQL语句才能将数据插入当前为';空';?

Python 我需要什么样的SQL语句才能将数据插入当前为';空';?,python,mysql,sql,sql-insert,mysql-error-1064,Python,Mysql,Sql,Sql Insert,Mysql Error 1064,我有这种格式的数据,我想输入mysql数据库中的一列。我创建的列为空,包含null值 [(1958000,), (261250,), (205480,), (140580,), (804320,), (652653,), (484990,),] 我使用python插入数据,代码如下: sql = "INSERT INTO city(Population) VALUES(%s)" new_column_data = The data I listed above. myc

我有这种格式的数据,我想输入mysql数据库中的一列。我创建的列为空,包含null值

[(1958000,),
(261250,),
(205480,),
(140580,),
(804320,),
(652653,),
(484990,),]
我使用python插入数据,代码如下:

sql = "INSERT INTO city(Population) VALUES(%s)"
new_column_data = The data I listed above. 

mycursor.executemany(sql, new_column_data)
当我运行它时,它将数据插入到位于填充中所有“null”值下方的行中

你喜欢这个工作吗

sql = "INSERT INTO city(Population) VALUES(%s) WHERE Population = 'null'"

任何帮助都将不胜感激

最快的解决方案是在插入新数据之前删除
NULL

为此,您必须运行以下操作:

将c从城市中删除为c,其中c.人口为空

然后运行
INSERT

但是,如果您试图
更新
城市
人口
字段为
的现有记录,则需要编写完全不同的语句

您的数据集需要包含一个键,就像更新Python字典一样

dataset = 
[(1958000,<key_value>),
(261250,<key_value>),
(205480,<key_value>),
(140580,<key_value>),
(804320,<key_value>),
(652653,<key_value>),
(484990,<key_value>),]
dataset=
[(1958000,),
(261250,),
(205480,),
(140580,),
(804320,),
(652653,),
(484990,),]
使用这些元组,您将需要创建一个update语句。其工作方式取决于您使用的Python库。但大致是这样的:

WITH ds = dataset: 
    statement = UPDATE c SET c.Population = ds.<population_value> WHERE c.<key_column> = ds.<key_value>
    mysql.update(statment,ds)

使用ds=dataset时的
:
语句=更新c集合c。总体=ds。其中c=ds。
mysql.update(statment,ds)

要更改现有行的数据,您需要执行
更新
,类似于
更新城市集合人口=666,其中id=123
INSERT
用于创建新行。除非列中有文本“null”,否则对于任何给定列
x
,您的意思是
其中x为null