General MySQL Programming Note 5 of 5
SQL SERVER
Query all tables in the database
https://www.cnblogs.com/yujiaxiong/p/6664272.html
import pyodbc
# Create the connection
conn = pyodbc.connect(
'DRIVER={SQL Server Native Client 11.0};'
'SERVER=sephora-cn-udp.database.chinacloudapi.cn;'
'DATABASE=CLV_POC_DataMart;'
'UID=clv_majorel;'
'PWD=Jvv01xbq7XRZ&xi6'
)
# Create the cursor
cursor = conn.cursor()
sql1 = "select * from sysobjects where xtype='U';"
sql2 = "select * from sys.tables;"
sql3 = "exec sp_tables"
cursor.execute(sql3)
table_list = [i[2] for i in cursor.execute(sql3) if i[1] == 'CLTV']
Save all data in the SQL SERVER database to CSV
import pyodbc
import pandas as pd
import numpy as np
def create_conn():
"""
创建数据库连接
:return: 连接游标
"""
connection = pyodbc.connect(
'DRIVER={SQL Server Native Client 11.0};'
'SERVER=sephora-cn-udp.database.chinacloudapi.cn;'
'DATABASE=CLV_POC_DataMart;'
'UID=clv_majorel;'
'PWD=Jvv01xbq7XRZ&xi6'
)
return connection
def query_data(c, s):
"""
查询SQL SERVER数据库中的所有数据
:param c: 连接状态
:param s: 查询语句
:return: 查询结果
"""
c.execute(s)
return c.fetchall()
def save_to_csv():
"""
分别读取字段和数据,拼接成DataFrame格式,保存到表格
:return: 无
"""
# Establish the connection
conn = create_conn()
cursor = conn.cursor()
# Query all tables
sql = "exec sp_tables"
table_list = [i[2] for i in query_data(cursor, sql) if i[1] == 'CLTV']
print(table_list)
for t in table_list:
# Query the table header
sql = "SELECT * FROM SYSCOLUMNS WHERE ID=OBJECT_ID('[CLTV].[%s]')" % t
result = query_data(cursor, sql)
title_list = [i[0] for i in result]
print(title_list)
# Query the data
sql = "select * from CLTV.%s;" % t
result = query_data(cursor, sql)
result = np.array(result)
print(result)
# Save to a temporary spreadsheet
result = pd.DataFrame(result, columns=title_list)
print(result)
result.to_csv('%s.csv' % t, index=False)
# Close the cursor and the connection
cursor.close()
conn.close()
if __name__ == '__main__':
save_to_csv()