[英]Updating a SQL table with Python 2.7?
我正在使用Python 2.7从网页中提取信息(使用BeautifulSoup
),对该信息进行排序并将其插入到SQL表中(使用MySQLdb
)。 那很简单,我可以从SO的其他地方找到很多参考。
我的问题是我需要代码来搜索表,如果信息已经存在,请对其进行更新。 但是,如果该信息不存在,请创建一个新记录。
例:
Table
+-----------+----------+--------+
| Name | Phone | Date |
+-----------+----------+--------+
| John | 344-7989 | 9/1 |
+-----------+----------+--------+
| Alexander | 198-3333 | 8/16 |
+-----------+----------+--------+
网络搜寻器在线查找新信息,并将其存储在词典列表中:
[
{
"Name" : "Samantha",
"Phone" : "788-3443",
"Date" : "9/5"
}, {
"Name" : "John",
"Phone" : "222-9009",
"Date" : "9/5"
}
]
现在,一条记录(Samantha)是全新的,该表中不存在。 但是其他记录(约翰)已经存在,但是他的信息是最近的。 用此信息编辑表并创建以下代码是什么?
Final Table
+-----------+----------+--------+
| Name | Phone | Date |
+-----------+----------+--------+
| John | 222-9009 | 9/5 |
+-----------+----------+--------+
| Alexander | 198-3333 | 8/16 |
+-----------+----------+--------+
| Samantha | 788-3443 | 9/5 |
+-----------+----------+--------+
在此链接中 ,对类似问题有很好的答案。
使其适应您的上下文,这可能是示例代码:
CREATE TABLE Users (`name` varchar(35) unique, `phone` varchar(10), `date` date);
还有一个关于python代码的想法(使用MySQLdb):
...
cursor = connection.cursor()
cursor.execute("""
INSERT INTO Users (name, phone, date)
VALUES (%s,%s,%s)
ON DUPLICATE KEY UPDATE phone = %s, date=%s;
""",(name,phone,date,phone,date))
cursor.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.