在Python中的sqlite表中创建自定义列名

时间:2016-11-29 10:32:46

标签: python database sqlite

我想在SQLite中使用Python创建一个表,其中列名将存储在变量中。

import sqlite3 as lite<br>
con = lite.connect('MyData.db')

name = raw_input() # I am taking values from user here
id1 = raw_input()
a=con.execute("CREATE TABLE PROD_SA_U_1(
    name TEXT,
    ids INT")

我想要用户输入的内容,而不是将列命名为“name”,“id”。

1 个答案:

答案 0 :(得分:1)

您只需替换用户在查询字符串中提供的名称。

示例:

import sqlite3 as lite
con = lite.connect('MyData.db')

field_1 = raw_input()
field_2 = raw_input()

query = "CREATE TABLE PROD_SA_U_1( %s TEXT, %s INT)"

a = con.execute(query % (field_1, field_2))

但是,请注意,如果字段未经过验证,这种方法对于运行不正确的查询是很难的,因此您应该在进一步传递之前清理字段。例如,恶意用户可能会在您的参数中传递Drop database查询。