Python 用于创建表SQL查询的通用函数
我需要一个可以在表中插入值的通用函数。如何使用数量可变的参数来实现这一点 例如:Python 用于创建表SQL查询的通用函数,python,sql,sqlite,Python,Sql,Sqlite,我需要一个可以在表中插入值的通用函数。如何使用数量可变的参数来实现这一点 例如: def create_table(self, tb_name, *args): sqlite3.connect(self.db_name).cursor().execute("DROP TABLE IF EXISTS users") sqlite3.connect(self.db_name).cursor().execute("CREATE TABLE users(*args[0],
def create_table(self, tb_name, *args):
sqlite3.connect(self.db_name).cursor().execute("DROP TABLE IF EXISTS users")
sqlite3.connect(self.db_name).cursor().execute("CREATE TABLE users(*args[0], *args[1], ....*args[n])")
提前谢谢。考虑使用
join
将列表中的所有项目连接到一条语句中。下面假定所有参数的TEXT
类型:
考虑使用
join
将列表中的所有项连接到一条语句中。下面假定所有参数的TEXT
类型:
除非SQLite默认为text,否则SQL中的
CREATE
DDL命令需要具有命名列的数据类型。如何将数据类型列表传递到函数中?为什么不使用现成的解决方案,如SQLAlchemy或PonyORM?它们将所有这些都整理好了,并且具有很好的声明性。如果您是以标记的方式在Python中执行此操作,为什么不创建字符串“创建表用户(*args[0]、*args[1]、…*args[n])”
动态地使用字符串连接和%
操作符?除非SQLite默认为文本,SQL中的CREATE
DDL命令需要具有命名列的数据类型。如何将数据类型列表传递到函数中?为什么不使用现成的解决方案,如SQLAlchemy或PonyORM?它们将所有这些都整理好了,并且是很好的声明性的。如果您是以标记的方式在Python中执行此操作,为什么不创建字符串“创建表用户(*args[0]、*args[1]、..*args[n])”
动态地使用字符串连接和%
操作符?
def create_table(self, tb_name, *args):
vars = " TEXT,".join(*args) + " TEXT"
sqlite3.connect(self.db_name).cursor().execute("DROP TABLE IF EXISTS users")
sqlite3.connect(self.db_name).cursor().execute("CREATE TABLE users ({})".format(vars))
# CREATE TABLE users (name TEXT, password TEXT)
# CREATE TABLE users (name TEXT, password TEXT, email TEXT)