医院信息科的菜鸟,自学python。第一次写,原来学过一点sql上面的东西。一些数据his不提供,只有从数据库抓。
连接自己电脑上的sqlserver,一直连接不上。突然想起直接使用pymssql连接时候不用端口号
pymssql连接示例
ip = 'localhost'
username = 'sa'
password = '20190218'
datebase = '2021DRGS'
conn = pymssql.connect(ip, username, password, datebase, charset='utf8') #连接
cursor = conn.cursor() #获取游标
cursor.execute(sql) #sql
results = cursor.fetchall()
cursor.close()
原来写的pymssql连接代码没有端口号
sqlalchemy连接代码如下:
import pymssql
from sqlalchemy import create_engine
def get_mysql_engine():
# '数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'
# 'mysql+pymysql://username:password@host:3306/dbname'(默认3306)
# 初始化数据库连接,使用pymysql模块
engine = create_engine('mysql+pymysql://root:20190218@127.0.0.1:3306/test')
return engine
def get_mssql_engine():
# '数据库类型+数据库驱动名称://用户名:口令@机器地址/数据库名',
# 'mssql+pymssql://username:password@host/dbname'(无端口号)
engine = create_engine('mssql+pymssql://sa:20190218@localhost/DRGS?charset=utf8', echo=True)
return engine
if __name__ == '__main__':
sql = 'select num_user from test'
connection = get_mssql_engine().connect()
result = connection.execute(sql)
connection.close()
echo=True时为日志输出,Flase反之
2021-06-19 16:26:32,269 INFO sqlalchemy.engine.Engine select @@version
2021-06-19 16:26:32,269 INFO sqlalchemy.engine.Engine [raw sql] {}
2021-06-19 16:26:32,270 INFO sqlalchemy.engine.Engine SELECT schema_name()
2021-06-19 16:26:32,270 INFO sqlalchemy.engine.Engine [generated in 0.00017s] {}
2021-06-19 16:26:32,271 INFO sqlalchemy.engine.Engine SELECT CAST(‘test max support’ AS NVARCHAR(max))
2021-06-19 16:26:32,271 INFO sqlalchemy.engine.Engine [generated in 0.00015s] {}
2021-06-19 16:26:32,272 INFO sqlalchemy.engine.Engine select num_user from test
2021-06-19 16:26:32,272 INFO sqlalchemy.engine.Engine [raw sql] {} 如果没有这里是ROLLBACK