python连接数据库,封装类函数

python连接数据库基础代码演示

连接数据库 pymysql.connect
操作数据库 创建curson游标,执行(execute)SQL语句,获取结果数据
增删改的语句需要执行commit.见下面代码示例
关闭连接 .close()

# coding:utf-8
# 连接数据库
# 操作数据库  创建curson游标,执行(execute)SQL语句,获取结果数据
# 增删改的语句需要执行commit.见下面代码示例
# 关闭连接   .close()


import time
import pymysql


class Readsql():
    # 打开数据库连接,分别是主机 、用户、 密码以及初始连接的数据库
    # pymysql.connect(host = '127.0.0.1',port = '3306',user = 'root',password = 'root123',database = 'test')
    db = pymysql.connect("192.168.0.186", "root", "root123", "test")

    # 使用cursor()方法获取操作游标
    cursor = db.cursor()

    print('连接上了!')
    # SQL 查询语句
    sql = "SELECT * FROM test_USER \
           WHERE MOBILE = 13412345678"
    try:
        # 执行SQL语句
        cursor.execute(sql)

        # 增删改的语句需要执行commit
        # sql2 = ""insert into user(namne,pwd) values("jin","123")
        # cursor.execute(sql2)
        # cursor.execute('commit')

        # 获取所有记录列表 fetchall  展示所有的查询数据   fetchone 展示一条查询数据  fetchmany(数字) 展示数字条数查询数据
        results = cursor.fetchall()
        # 打印返回的类型
        print(type(results))

        for row in results:
            aa = row[0]
            bb = row[1]
            cc = row[2]
            dd = row[3]
            ee = row[4]
            ff = row[5]
            # 打印结果
            print("aa=%s,bb=%s,cc=%s,dd=%s,ee=%s,ff=%s" % \
                  (aa, bb, cc, dd, ee, ff))

    except:
        print("Error: unable to fetch data")

        # 关闭连接
        db.close()

封装成类函数

作为工具类,这样就可以被其他类进行调用

# coding:utf-8

import pymysql
import time


class MyDB:
    # 初始化数据库连接
    def __init__(self):
        try:
            self.db_con = pymysql.connect(host='127.0.0.1', port='3306', user='root', password='root123',database='test')
        except Exception as e:
            print("数据库连接失败:%s" % e)

    # 关闭数据库连接
    def close(self):
        self.db_con.close()

    # def creat_cursor(self):
    #     self.cursor= self.db_con.cursor()
    #     return  self.cursor

    # 查询数据库方法,query为要执行的语句
    def select_db(self, query):
        print("本次执行的语句是: %s" % query)
        try:
            cursor = self.db_con.cursor()
            result = cursor.execute(query)
            print(result)
            return result
        except Exception as e:
            print("数据库查询失败:%s" % e)
            cursor.close()
            exit()

    # 增删改查数据库方法,query为要执行的语句
    def alter_db(self, query):
        print("本次执行的语句是:%s" % query)
        try:
            cursor = self.db_con.cursor()
            cursor.execute(query)
            cursor.execute('commit')
            return True

        except Exception as e:
            print("数据库查询失败:%s" % e)
            # 执行语句错误,回滚事务
            cursor.execute('rollback')
            cursor.close()
            exit()
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值