使用Python的SQL连接器

时间:2015-06-16 13:33:14

标签: python sql

我有一个SQL数据库,我希望通过python运行查询。我有以下代码:

sql='select * from mf where frequency=220258.0;'
cur.execute(sql)

我直接在sqlite3中使用相同的select命令,但是通过Python没有输出数据库条目。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

考虑这个SQLite数据库。

$ sqlite3 so.sqlite3 .dump 
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE t (f1 integer, f2 text);
INSERT INTO "t" VALUES(1,'foo');
INSERT INTO "t" VALUES(2,'bar');
INSERT INTO "t" VALUES(3,'baz');
COMMIT;

Python像这样连接和查询这个数据库。

import sqlite3

con = sqlite3.connect("so.sqlite3")
cur = con.cursor()
cur.execute("select * from t where f1 = 2")
print(cur.fetchone())

输出:

(2, 'bar')

您必须使用cur.fetchone()cur.fetchall()cur.fetchmany()中的一个来获取光标中的行。只做cur.execute()不会返回行。