Python 链接SQL server

Python 链接SQL server

文章目录

  • Python 链接SQL server
      • 一.模块安装
      • 二.链接测试
      • 三.提交与回滚
      • 四.封装成类

一.模块安装

python是使用pymssql这个模块来操作SQL Server数据库的,所有需要先安装pymssql

pip install pymssql

二.链接测试

import pymssql
 
conn = pymssql.connect(host='127.0.0.1',
            user='sa',
            password='123',
            database='dbtest',
            charset='utf8mp4')
 
#查看连接是否成功
cursor = conn.cursor()
sql = '''select * from student'''
cursor.execute(sql)
#用一个rs变量获取数据
rs = cursor.fetchall()
 
print(rs)

三.提交与回滚

在python中,在操作完 “增删改” 之后,还需要执行commit()才能真正提交代码执行,如果出意外的话就执行rollback()回滚到之前的状态,相当于之前的操作都白做了,但是这样可以保护了数据库。

示例代码:

try:
  conn = pymssql.connect(host='127.0.0.1',
              user='sa',
              password='123',
              database='SQLTest',
              charset='utf8')
  cursor = conn.cursor()
  sql = 'insert into student values('0001', '张三', 18, '', '文学院')'
  cursor.execute(sql)
  conn.commit()
except Exception as ex:
  conn.rollback()
  raise ex
finally:
  conn.close()

大家可以试一试将conn.commit()删去,然后看看数据库是否有变化。

四.封装成类

import pymssql
 
class TestDB():
 
  def __init__(self):
    try:
      self.conn = pymssql.connect(host='127.0.0.1',
                    user='sa',
                    password='123',
                    database='SQLTest',
                    charset='utf8')
      self.cursor = self.conn.cursor()
      self.sql = "insert into student values('0001', '张三', 18, '男', '文学院')"
      self.cursor.execute(self.sql)
      self.conn.commit()
    except Exception as ex:
      self.conn.rollback()
      raise ex
    finally:
      self.conn.close()
 
if __name__ == '__main__':
  test_DB = TestDB()

更多参考:

  • 知乎:https://zhuanlan.zhihu.com/p/25207455
  • Python3连接SQLServer、Oracle、MySql的方法

你可能感兴趣的:(python,sql,数据库)