【发布时间】:2022-01-06 22:06:26
【问题描述】:
我需要编写一个 python 程序来创建一个表并为其添加列,但是表的名称和数量以及它的列将由我们用户定义,这意味着我不知道名称和数量,它将全部被占用作为用户的输入。 知道怎么做吗?
【问题讨论】:
-
你可以使用
pyodbc包。并使用变量,例如:connection.execute(f"create table {table_name}({column_1}, {column_2})......")等。并对变量使用参数或输入。pyodbc文档:github.com/mkleehammer/pyodbc/wiki -
如果我想在用户输入上创建具有多列的多个表,那么我可以通过循环来完成,但是如何在使用 python 在 mssql 中创建表时应用循环
-
假设您想这样做。用户可以将其写为字典
table_name另一个输入{'column1': 'varchar(100)', 'column2': 'int'}。您正在检查创建表的字典。另一个输入'Do you want to continue: y/n'。您正在检查输入,例如 while 'Yes' 继续循环。如果你想尝试,可以尝试这样的事情。 -
但是您尝试做的事情非常危险,因为您允许用户在您的数据库中创建对象而不对其进行监控。那么索引和其他东西呢,它们可能会使您的数据库崩溃。 BI 开发人员或任何后端数据开发人员都应该做这种工作。
-
实际上我正在做一个项目,我必须创建关联的多个数据源(即异构,如 sql、nosql、excel、csv)并在单个阶段关联也必须创建数据模式。