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:关闭连接

python 封装的sql 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

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)