python操作mysql数据库

  如何用python代码来操作数据库,首先安装命令:pip install pymysql 安装好之后,才开始今天的内容讲解

python连接数据库

import pymysql

# 第一步:链接数据库    主机名、端口号、用户和密码,根据你所在的公司的实际情况来具体连接
con = pymysql.connect(host="********",
                      port=****,
                      user="*****",
                      password="*****",
                      charset="utf8")
# 第二步:创建一个游标对象
cur = con.cursor()

# 第三步:执行sql语句
sql = "select * from futureloan.member limit 10"
res = cur.execute(sql)
# print(res)  # 打印出 10

# 第四步:查询结果的获取

# fetchone 查询一条数据
# data = cur.fetchone()
# print(data)

# fetchall 获取查询到的所有数据,工作中常用fetchall方法!!!
data_all = cur.fetchall()
print(data_all)

 python执行sql语句(增删查改)

import pymysql

# 第一步:连接数据库
con = pymysql.connect(host="*****",
                      port=****,
                      user="*****",
                      password="****",
                      charset="utf8",
                      cursorclass=pymysql.cursors.DictCursor
                      )

# 第二步:创建一个游标对象
cur = con.cursor()

# 第三步:执行sql语句
sql = "    "   # sql语句自己写
res = cur.execute(sql)

# pymysql操作数据库,默认开启了事务,涉及到数据库中数据变动的操作,要提交事务才会生效
con.commit()

 处理数据库的封装

有时候,一个项目需要同时连接好几个数据库,比如同时连接mysql和Oracle等等,那么我们就可以把数据的信息放在配置文件config中,然后对处理数据库进行一个封装handle_database

import pymysql
from common.handle_config import conf


class DataBase:
    def __init__(self, host, port, user, password):
        # 第一步:链接数据库
        self.con = pymysql.connect(host=host,
                                   port=port,
                                   user=user,
                                   password=password,
                                   charset="utf8",
                                   cursorclass=pymysql.cursors.DictCursor)
        # 第二步:创建一个游标对象
        self.cur = self.con.cursor()

    def find_data(self, sql):
        """查询数据"""
        self.cur.execute(sql)
        res = self.cur.fetchall()
        return res


db = DataBase(host=conf.get("mysql", "host"),
              port=conf.get("mysql", "port"),
              user=conf.get("mysql", "user"),
              password=conf.get("mysql", "password")
              )

 

 

关于这个封装,后续还会继续优化,今天只是做个较为简单一些的封装

 

posted @ 2020-08-25 18:41  excellent_1  阅读(196)  评论(0)    收藏  举报