我正在Python(2.7)中构建一个轻量级POST处理程序,它接受POST并将其内容插入MySQL数据库。很简单,我相信,但这对我来说是第一次
我对Python及其方法的有限了解,导致我使用OrderedDict来捕获POST的键和值。现在,我不明白。。。
我应该如何解压缩MySQL语句中的这些键值对?键为列,值为值。
这是我目前的尝试:
d = collections.OrderedDict([
('key1', 'value1'),
('key2', 'value2'),
('key3', 'value3')])
cursor.execute('INSERT INTO entries %s '
'VALUES %s',
(d.keys(), d.values()))
当然,这是失败的。d.{func}()返回一个列表。这是我认为我需要的结果:
d = collections.OrderedDict([
('key1', 'value1'),
('key2', 'value2'),
('key3', 'value3')])
cursor.execute('INSERT INTO entries (key1, key2, key3) '
'VALUES (value1, value2, value3)'
我觉得自己好像错过了一些基本而明显的东西。它是什么?:)
import collections
d = collections.OrderedDict(
[
('key1', 'value1'),
('key2', 'value2'),
('key3', 'value3')
]
)
table_name = "entries"
sql_query = "INSERT INTO {} {} VALUES {}".format(table_name, str(tuple(d.keys())).replace("'", ""), str(tuple(d.values())).encode('utf-8'))
print sql_query
输出:
INSERT INTO entries (key1, key2, key3) VALUES ('value1', 'value2', 'value3')