日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python操作SqlServer獲取特定表的所有列名(推薦)_python

作者:Vergil_Zsh ? 更新時間: 2022-10-23 編程語言

在網上搜過大多數資料,發現并不能按照自己的意愿實現最后的結果
這里我使用兩種方法,來實現結果,分別向大家展示下 不同方法所帶來的結果。
python連接sqlserver數據庫代碼

# 引入庫
import pyodbc
import pymssql
from sqlalchemy import create_engine

# 連接數據庫
conn = pyodbc.connect(r'Driver={SQL Server};Server=服務器名;Database=數據庫名;Trusted_Connection=yes;')
cursor = conn.cursor()
sqlstr = ''
try:
	a = cursor.execute(sqlstr)
	conn.commit()
except Exception as e:
	print(e)
finally:
	conn.close()

上面的代碼就是通用連接SqlServer數據庫,并添加報錯信息等
接下來說說SQL語句

SELECT Name FROM SysColumns Where id=Object_Id('表名')

這個方法確實可以獲取表名,但不會按照順序輸出

第二種方法:

SELECT * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '表名'

運行結果

可以看到將我們所需要的列名全部放入COLUMN_NAME中,我們只需要SELECT的一下就好了

SELECT COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '表名'

與原來的一摸一樣

如果不在乎是否按照順序排列,可以選擇第一種,如果需要其他用途的可以選擇第二種
再回頭來說下python里面,python在

cursor.execute()

之后會返回的是

結果

如果想要看到獲取的最終結果 需要使用**fetchall()**返回所有 **fetchone()**返回單個,并且conn.commit()需寫在查詢之后
如下

import pyodbc
import pymssql
from sqlalchemy import create_engine

# 連接數據庫
conn = pyodbc.connect(r'Driver={SQL Server};Server=服務器名;Database=數據庫名;Trusted_Connection=yes;')
cursor = conn.cursor()
sqlstr = "SELECT COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '表名'"
try:
	# 使用fetchall()獲取全部
	a = cursor.execute(sqlstr)
	col_name = a.fetchall()
	print(col_name)
	conn.commit()
except Exception as e:
	print(e)
finally:
	conn.close()

在這里插入圖片描述

返回的是一個含多個元組的列表

原文鏈接:https://blog.csdn.net/KIKI_ZSH/article/details/126524408

欄目分類
最近更新