首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要什么SQL语句才能将数据插入到当前为“null”的多个行中?

需要什么SQL语句才能将数据插入到当前为“null”的多个行中?
EN

Stack Overflow用户
提问于 2020-11-18 07:06:45
回答 1查看 43关注 0票数 0

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

代码语言:javascript
运行
复制
[(1958000,),
(261250,),
(205480,),
(140580,),
(804320,),
(652653,),
(484990,),]

我正在使用python插入数据,代码如下:

代码语言:javascript
运行
复制
sql = "INSERT INTO city(Population) VALUES(%s)"
new_column_data = The data I listed above. 

mycursor.executemany(sql, new_column_data)

当我运行它时,它将数据插入到Population中所有'null‘值以下的行中。

像这样的东西可以工作吗?

代码语言:javascript
运行
复制
sql = "INSERT INTO city(Population) VALUES(%s) WHERE Population = 'null'"

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2020-11-18 10:34:58

对您来说,最快的解决方案是在插入新数据之前删除NULL列。

您必须通过运行以下命令来完成此操作:

DELETE c FROM city AS c WHERE c.Population IS NULL

然后运行你的INSERT

但是,如果您试图UPDATE Population字段为NULLcity中的现有记录,那么您需要编写一个完全不同的语句。

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

代码语言:javascript
运行
复制
dataset = 
[(1958000,<key_value>),
(261250,<key_value>),
(205480,<key_value>),
(140580,<key_value>),
(804320,<key_value>),
(652653,<key_value>),
(484990,<key_value>),]

使用这些元组,您将需要创建一个update语句。它的工作方式取决于您正在使用的Python库。但大致是这样的:

代码语言:javascript
运行
复制
WITH ds = dataset: 
    statement = UPDATE c SET c.Population = ds.<population_value> WHERE c.<key_column> = ds.<key_value>
    mysql.update(statment,ds)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64884687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档