Pyodbc-如果存在表,则不要在SSMS中创建

Dsw Wds

我正在尝试类似的东西:

import pyodbc

cnxn = pyodbc.connect(driver ='{SQL Server}' ,server ='host-MOBL\instance',database ='dbname', trusted_connection = 'yes' )
cursor = cnxn.cursor()


cursor.execute("""SELECT * FROM INFORMATION_SCHEMA.TABLES 
       WHERE TABLE_NAME = N'TableName'""")

def checkTableExists(cnxn, TableName):
    cursor = cnxn.cursor()
    cursor.execute("""
        SELECT COUNT(*)
    FROM information_schema.tables
    WHERE TABLE_NAME = '{0}'
    """.format(TableName.replace('\'', '\'\'')))
    if cursor.fetchone()[0] == 1:
        cursor.close()
        return True

    cursor.close()
    return False

if checkTableExists == True:
    print ("already")
elif checkTableExists == False:
    print ("No")

但是什么也没有发生,有人可以帮助我吗?我正在使用Micrsoft SQL Server Management Studio 2014 Express版本。该代码将在Python中运行。谢谢

布赖恩

使用内置的Cursor.tables方法进行此检查-以下代码示例假定实例化了连接和游标

if cursor.tables(table='TableName', tableType='TABLE').fetchone():
    print("exists")
else:
    print("doesn't exist")

注意,这与查询INFORMATION_SCHEMA.TABLES在功能上没有什么不同,但是允许代码在不同数据库平台上的可移植性(并且IMO提高了可读性)。

使用SQL Server Native Client 11.0和SQL Server 2014,调用Cursor.tables仅执行sp_tables系统存储过程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从列表中pyodbc INSERT INTO

来自分类Dev

pyodbc的参数化创建查询

来自分类Dev

Pyodbc没有更新表

来自分类Dev

用pyodbc复制SQL表

来自分类Dev

PYODBC中的功能序列错误

来自分类Dev

无法在导入pyodbc的python中创建易失性表

来自分类Dev

查询在 pyodbc 中返回错误但在 SSMS 中没有

来自分类Dev

Pyodbc可能存在线程问题

来自分类Dev

使用pyodbc创建数据库

来自分类Dev

用pyodbc创建列-不起作用

来自分类Dev

用pyodbc创建列-不起作用

来自分类Dev

Pyodbc中的字符串参数

来自分类Dev

如何在 Databricks 中安装 PYODBC

来自分类Dev

pyodbc中的错误:“ pyodbc.Cursor”对象没有属性“ commit”

来自分类Dev

Pyodbc在版本3+上是否存在编码问题?

来自分类Dev

SQL ALTER和DROP数据库是否与PYODBC存在

来自分类Dev

使用pyodbc将sql表的列名保存为列表

来自分类Dev

是否可以将表值参数传递给PYODBC查询?

来自分类Dev

使用 pyodbc 批量插入 SQL Server 表:找不到文件

来自分类Dev

使用pyodbc在Access中处理日期,给出“参数太少”错误

来自分类Dev

通过pyodbc从Oracle存储过程插入中获取结果

来自分类Dev

在pyodbc准备好的声明中列出的参数

来自分类Dev

Python'导入pyodbc'在cron任务中不起作用

来自分类Dev

pyodbc:如何在SQL数据库中存储汉字?

来自分类Dev

pyodbc 在 Python 中连接到 Sybase 数据库

来自分类Dev

导入 pyodbc 在 eclipse -python 中不起作用

来自分类Dev

在python 3.x中pip安装pyodbc

来自分类Dev

无法使用pyodbc更新sql数据库表中的多个Cloum

来自分类Dev

如何遍历python中来自sql存储过程的表。使用While循环和Pyodbc?