python操作数据库及并封装数据库函数

python操作数据库及并封装数据库函数

目录

python操作数据库及并封装数据库函数

一、前提

1.pyton连接数据库需要先安装pymysql模块:

2.安装完成后导入pymysql模块:

二、python操作数据库主要步骤:

三、常用操作方法

1.cursor():使用当前连接创建并返回游标

2.commit():提交当前事务,如果数据库脚本对数据库做了修改那么必须要做提交动作:如update,insert

3.rollback():回滚当前事务

4.close():关闭当前连接

5. execute    执行数据库查询或命令,将结果从数据库获取到客户端

6. fetchone():获取结果集的下一行

7.fetchmany():获取结果集的下几行

8.fetchall():获取结果集中剩下的所有行

9. rowcount:最近一次的execute返回数据的行数或受影响的行数

四、数据库操作

1.引入函数:import pymysql

2.连接数据库:connect

3.创建一个游标对象cursor()

4.执行sql语句execute()  返回的具体数据条数

5.查询数据库数据,返回具体的数据,数据类型是数组(tuple)

6.数据库增,删,改操作,需要提交事务commit()

7.关闭游标

8.关闭数据库

9.整体流程整理:连接数据库-建立游标-增删改查sql-执行sql(与客户端建立连接,execute执行)-如果对数据库存在变更,需要提交事务commit-关闭游标-关闭数据库

五、数据库操作函数的封装

1.通过读取配置文件读取数据库的信息,import configparser

2.实例化,并获取配置文件的值

3.查询,新增数据函数


一、前提

1.pyton连接数据库需要先安装pymysql模块:

            pip install pymysql


2.安装完成后导入pymysql模块:

            import pymysql

 

二、python操作数据库主要步骤:

  • step1:连接数据库:通过connect函数链接,生成connection的对象
  • step2:创建游标对象
  • step3:对数据库进行增删改查
  • step4:关闭游标
  • step5:关闭连接

下图转载于:https://www.cnblogs.com/du-hong/p/10897822.html

 

三、常用操作方法

1.cursor():使用当前连接创建并返回游标

2.commit():提交当前事务,如果数据库脚本对数据库做了修改那么必须要做提交动作:如update,insert

3.rollback():回滚当前事务

4.close():关闭当前连接

5. execute    执行数据库查询或命令,将结果从数据库获取到客户端

6. fetchone():获取结果集的下一行

7.fetchmany():获取结果集的下几行

8.fetchall():获取结果集中剩下的所有行

9. rowcount:最近一次的execute返回数据的行数或受影响的行数

 

四、数据库操作

1.引入函数:import pymysql

 pymysql    操作sql server
 cx_oracle:操作oracel

2.连接数据库:connect

conn = pymysql.connect(host="数据库地址",
                       port=端口,
                       user=用户,
                       password=密码,
                       charset="utf8")

3.创建一个游标对象cursor()

cur = conn.cursor()

4.执行sql语句execute()  返回的具体数据条数

# 第三步:执行sql语句
# sql = "select id from futureloan.member where mobile_phone='13367899876'"
sql = "select * from futureloan.member limit 100"

# 返回的是查询的数据条数
res = cur.execute(sql)
print(res)

5.查询数据库数据,返回具体的数据,数据类型是数组(tuple)

  • 获取一条数据fetchone()
# 第四步:获取查询的数据
# 获取一条数据(返回的查询集中的第一条数据,元组类型)
data = cur.fetchone()
print(data)
  • 获取查询集合中的所有数据fetchall()
# 获取查询集中的所有数据
datas = cur.fetchall()
print(datas)

6.数据库增,删,改操作,需要提交事务commit()

# 关于增加,删除,修改等相关涉及到数据库中数据变动的sql
# 执行的方式和查询是一样的
# cur.execute(sql)
# 在执行完sql语句之后,要多出一步:commit提交事务
# conn.commit()

7.关闭游标

cur.close()

8.关闭数据库

conn.close()

9.整体流程整理:连接数据库-建立游标-增删改查sql-执行sql(与客户端建立连接,execute执行)-如果对数据库存在变更,需要提交事务commit-关闭游标-关闭数据库

"""
数据库信息
host = 
port = 
user = 
pwd = 
"""
import pymysql

# 第一步:连接到数据库
conn = pymysql.connect(host="",
                       port=,
                       user="",
                       password='',
                       charset="utf8")

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

# 第三步:执行sql语句
# sql = "select id from futureloan.member where mobile_phone='13367899876'"
sql = "select * from futureloan.member limit 100"

# 返回的是查询的数据条数
res = cur.execute(sql)
print(res)

# 第四步:获取查询的数据
# 获取一条数据(返回的查询集中的第一条数据,元组类型)
data = cur.fetchone()
print(data)

# 获取查询集中的所有数据
datas = cur.fetchall()
print(datas)

# 关于增加,删除,修改等相关涉及到数据库中数据变动的sql
# 执行的方式和查询是一样的
# cur.execute(sql)
# 在执行完sql语句之后,要多出一步:commit提交事务
# conn.commit()


# pymysql    操作sql server
# cx_oracle:操作oracel

 

五、数据库操作函数的封装

1.通过读取配置文件读取数据库的信息,import configparser

2.实例化,并获取配置文件的值

3.查询,新增数据函数

import pymysql
import configparser


class my_db:
    """动作类,获取数据连接,获取ip,端口,账号密码"""

    def __init__(self, config_file, db):

        # 实例化
        config = configparser.ConfigParser()
        # 从配置文件中读取数据库服务器ip,账号等
        config.read(config_file)
        host = config[db]['host']
        port = int(config[db]['port'])
        user = config[db]['user']
        passwd = config[db]['passwd']
        # db_name = config[db]['db']
        charset = config[db]['charset']

        try:
            self.dbconn = pymysql.Connect(host=host,
                                          port=port, user=user,
                                          password=passwd,
                                          # database=db,
                                          charset=charset)
        except Exception as e:
            print("初始化数据库连接失败:%s" % e)

    def select_record(self, query):
        """查询数据"""
        print("query:%s" % query)
        try:
            db_cursor = self.dbconn.cursor()
            db_cursor.execute(query)
            result = db_cursor.fetchall()
            return result
        except Exception as e:
            print("执行数据库查询失败原因:%s" % e)
            db_cursor.close()
            exit()

    def execute_insert(self, query):
        """插入数据"""
        print("query:%s" % query)
        try:
            db_cursor = self.dbconn.cursor()
            db_cursor.execute(query)

            db_cursor.excute("commit")
            return True
            # result=db_cursor.fetchall()
        # return result
        except Exception as e:
            print("执行数据库查询失败原因:%s" % e)
            db_cursor.execute("rollback")  # 回滚当前事务
            db_cursor.close()
            exit()

    def close(self):
        self.dbconn.close()


a = my_db(r"D:\python\commalluerjenkins131\config\dbconf.ini", "test")
sql = "select * from futureloan.member limit 100"
b = a.select_record(sql)
print(b)

 

  • 6
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 在Python封装数据库可以使用第三方库pymysql来进行操作。首先需要安装pymysql库(pip install pymysql),然后可以使用该库来连接MySQL数据库并进行增删改查等操作。具体步骤如下: 1. 连接数据库:使用connect函数连接数据库,生成connection对象。\[1\] 2. 创建游标对象:通过connection对象创建游标对象,用于执行SQL语句。\[2\] 3. 对数据库进行增删改查:使用游标对象执行SQL语句,可以进行插入、删除、更新和查询等操作。\[2\] 4. 关闭游标:在操作完成后,需要关闭游标对象。\[2\] 5. 关闭连接:最后需要关闭数据库连接,释放资源。\[2\] 此外,还可以使用其他的第三方库来封装数据库操作,如SQLAlchemy等。这些库提供了更高级的封装,可以简化数据库操作的流程,并提供更多的功能和灵活性。 #### 引用[.reference_title] - *1* [Python 操作MySql数据库封装、优雅)](https://blog.csdn.net/qq_59142194/article/details/126681062)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [python操作数据库及并封装数据库函数](https://blog.csdn.net/BJ1599449/article/details/117026500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [封装篇---Python自动化测试封装数据库Mysql](https://blog.csdn.net/wuyomhchang/article/details/129043078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值