python-连接sqlsever、mysql
1.准备工作
下载pycharm(很简单,自己搜索即可下载)
使用Sqlsever:
pip install pymssql
使用MySQL:
pip install pymysql
2.连接对应数据库
获取需要连接数据库的地址(根据自己公司服务器数据库或者自己本地数据库)
需要获取:服务器名,账户,密码,数据库名
3.pycharm中新建项目
1.连接Sqlsever
import pymssql
from warnings import filterwarnings
# 忽略Mysql告警信息
# filterwarnings("ignore", category=pymssql.Warning)
class MssqlDb:
def __init__(self):
# 建立数据库连接 charset='cp936'防止连接乱码
self.conn = pymssql.connect("172.16.3.201", "sa", "Flame100", "AutomationTest",charset='cp936')
# 使用 cursor 方法获取操作游标,得到一个可以执行sql语句,并且操作结果作为字典返回的游标,
self.cur = self.conn.cursor(as_dict = True)
def __del__(self):
# 关闭游标
self.cur.close()
# 关闭连接
self.conn.close()
def query(self, sql, state="all"):
"""
查询
:param sql:
:param state: all是默认查询全部
:return:
"""
self.cur.execute(sql)
if state == "all":
# 查询全部
data = self.cur.fetchall()
else:
# 查询单条
data = self.cur.fetchone()
return data
def execute(self, sql):
"""
更新、删除、新增
:param sql:
:return:
"""
try:
# 使用execute操作sql
rows = self.cur.execute(sql)
# 提交事务
self.conn.commit()
return rows
except Exception as e:
print("数据库操作异常 {0}".format(e))
# 回滚修改
self.conn.rollback()
if __name__ == '__main__':
mydb = MssqlDb()
r = mydb.query("select * from cases ")
#r = mydb.execute("insert into `case` (`app`) values('xd')")
print(r)
2.连接MySQL
1 1 #coding:utf8 2 2 import pymysql 3 3 4 4 class mySqlDB(): 5 5 6 6 def __init__(self): 7 7 self.connect = pymysql.connect('127.0.0.0', 'sa', '123456', 'AutomationTest') # 服务器名,账户,密码,数据库名 8 8 self.cursor = self.connect.cursor(cursor=pymysql.cursors.DictCursor) #作为字典返回,正常为列表 9 9 def __del__(self): 10 10 print("关闭游标") 11 11 self.connect.close() 12 12 self.cursor.close() 13 13 # 查 14 14 def query(self,sql,state='all'): 15 15 self.cursor.execute(sql) 16 16 if state=='all': 17 17 rows = self.cursor.fetchall() 18 18 return rows 19 19 else: 20 20 row = self.cursor.fetchone() 21 21 return row 22 22 # 增删改 23 23 def execute(self,sql): 24 24 try:
26 26 rows = self.cursor.execute(sql) 27 27 # 提交事务 28 28 self.connect.commit() 29 29 return rows 30 30 except Exception as e: 31 31 print("数据库操作异常 {0}".format(e)) 32 32 # 回滚修改 33 33 self.connect.rollback() 34 34 if __name__ == '__main__': 35 35 mydb = mySqlDB() 36 36 r=mydb.query('select * from `cases`') 37 38 print(r)
注:1.close()是必须的,否则python程序会持久占用这个数据库.
2.当执行更改(增删改)数据库表的操作时,执行完sql后别忘记加一句commit()
每篇一句:
在这车多人挤的世界,你依然在我心里住了好几年。
注:转载请注明出处,2021-08-13 16:28:38
本文来自博客园,作者:Titen,转载请注明原文链接:https://www.cnblogs.com/chengxiazuohua/p/15138127.html