import pymssql
class ConnectUtils:
def __init__(self, db_name='tempdb'):
server = '10.35.16.60'
user = 'qadu008'
password = '!zyn123!'
self.conn = pymssql.connect(server, user, password, db_name)
def qeury_all_table_name(self, db_name=None):
with self.conn.cursor() as cursor:
if db_name:
cursor.execute(f'USE {db_name}')
cursor.execute('select table_name FROM information_schema.tables')
result = cursor.fetchall()
db_names = [x[0] for x in result]
return db_names
def qeury_all_table(self, db_name=None):
"""
:param db_name:
:return: the table name and object id
"""
with self.conn.cursor() as cursor:
if db_name:
cursor.execute(f'USE {db_name}')
cursor.execute('select name,object_id FROM sys.tables')
result = cursor.fetchall()
db_names = [(x[0], x[1]) for x in result]
return db_names
def query_any_field(self,table_name, object_id, target, system_type_id):
"""
There will be error when target type is not the same as column type
:param table_name:
:param object_id:
:param target:
:return:
"""
with self.conn.cursor() as cursor:
cursor.execute(
f"select name from sys.columns where object_id ={object_id} and system_type_id = {system_type_id}")
result = cursor.fetchall()
result = [x[0] for x in result]
if not result:
return 0
result = ','.join(result)
cursor.execute(f"select count(*) from {table_name} where '{target}' in ({result})")
result = cursor.fetchall()
return result[0][0]
def qeury_all_db_name(self):
with self.conn.cursor() as cursor:
cursor.execute('select name FROM sys.databases;')
result = cursor.fetchall()
db_names = [x[0] for x in result]
return db_names
def query_table(self, table_name, db_name=None):
with self.conn.cursor() as cursor:
if db_name:
cursor.execute(f'USE {db_name}')
sql = f"select * from {table_name}"
cursor.execute(sql)
for row in cursor:
yield row
Pymssql基本操作
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、命令行 1、了解一些关键名词: 图形界面 命令行:在终端窗口下输入一些命令就可以满足一些操作需求 终端:mac...