0
私のクラスの1つに短い質問があります。 Pythonでsqliteデータベース名とテーブル名を引数とする関数を構築し、このテーブルの中に列名を返します。関数を使用して列名を取得するSqlite3
#!/user/bin/env python
import sqlite3
import pprint
pp = pprint.PrettyPrinter()
def print_table_columns(database_name, table_name):
conn = sqlite3.connect(database_name)
c = conn.cursor()
c.execute('SELECT sql FROM sqlite_master WHERE type=\'table\' AND name=\'table_name\'')
print c.fetchall()
conn.close()
は悲しいことに、このコードは、空のリストを生成します。
は、これまでのところ、私は次のように行われています。私は、実行関数内のSQLコマンドはPythonで定義された変数を取らないと思っていますが、わかりません。これについての助けがあれば幸いです。
?
が
sqlite3
は、クエリパラメータ(ここでは
table_name
)で埋めるということプレースホルダです
c.execute("""
SELECT
sql
FROM
sqlite_master
WHERE
type = 'table' AND
name = ?""", (table_name,))
: