【问题标题】:creating table in sql-server using python使用python在sql-server中创建表
【发布时间】: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)并在单个阶段关联也必须创建数据模式。

标签: python sql pandas


【解决方案1】:

我认为使用 sqllite3 包是可能的。您需要做的就是运行与数据库连接的查询。

【讨论】:

  • 考虑到最初标记为 [sql-server] 和 [mysql] 的 OP,他们不太可能需要 SQLite。
  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 2017-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多