python-数据库之pymysql模块(连接对象-游标对象-执行-获取值或者提交事务)

1、pymysql模块安装与引入

安装

pip install PyMySQL

引入

import pymysql

2、数据库的操作

下图查找连接数据库,源码的方法,以及参数怎么配置的可参考

数据库的操作步骤:

步骤1:引入pymysql模块 import pymysql
步骤2:连接数据库,返回连接对象 注意:charset="utf8"指定编码方式,没有-
con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")
步骤3:创建一个游标对象
cur = con.cursor()
步骤4:执行的sql语句
sql = "SELECT * FROM python.cfl_emp;"
步骤5:通过execute方法执行sql语句
res = cur.execute(sql) # 返回的是记录条数
步骤6:获取查询结果
# 获取查询到的返回集中的第一条数据
data_fetchone = cur.fetchone()
print(f"获取查询到的返回集中的第一条数据,data_fetchone = cur.fetchone() \n结果:{data_fetchone}")
# 获取查询到的所有数据
# 返回的是一个元组嵌套元组的数据
data_fetchall = cur.fetchall()
print(f"获取查询到的返回集中的所有数据,data_fetchall = cur.fetchall() \n结果:{data_fetchall}")

# 引入pymysql模块
import pymysql

# 步骤1:连接数据库,返回连接对象
# charset="utf8"指定编码方式,没有-
con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")

# 步骤2:创建一个游标对象
cur = con.cursor()
# 步骤3:执行的sql语句
sql = "SELECT *  FROM  python.cfl_emp;"

# 步骤4:通过execute方法执行sql语句
res = cur.execute(sql)  # 返回的是记录条数
print(res)

# 步骤5:获取查询结果

# 获取查询到的返回集中的第一条数据
data_fetchone = cur.fetchone()
print(f"获取查询到的返回集中的第一条数据,data_fetchone = cur.fetchone() \n结果:{data_fetchone}")

# 获取查询到的所有数据
# 返回的是一个元组嵌套元组的数据
data_fetchall = cur.fetchall()
print(f"获取查询到的返回集中的所有数据,data_fetchall = cur.fetchall() \n结果:{data_fetchall}")

注意点:pymysql模块操作数据时,默认开启的事务
 在事务提交之前,所有对数据库进行修改的操作都不会同步到数据库
只有在提交事务之后,才会同步到数据
提交事务:连接对象.commit()

# 引入pymysql模块
import pymysql

# 步骤1:连接数据库,返回连接对象
# charset="utf8"指定编码方式,没有-
con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")

# 步骤2:创建一个游标对象
cur = con.cursor()
# 步骤3:执行的sql语句
select_sql = "select name from python.cfl_emp where id = 6;"
cur.execute(select_sql)
name_b = cur.fetchall()
print(f"事务提交前:name为{name_b}")

update_sql = "UPDATE python.cfl_emp SET  name = ‘钱一3‘ WHERE id = 6;"
cur.execute(update_sql)
# 注意点:pymysql模块操作数据时,默认开启的事务
# 在事务提交之前,所有对数据库进行修改的操作都不会同步到数据库
# 只有在提交事务之后,才会同步到数据
# 提交事务:连接对象.commit()

con.commit()
cur.execute(select_sql)
name_a = cur.fetchall()
print(f"事务提交前:name为{name_a}")

执行结果:

3、简单封装数据库的操作-查询与增删改操作(因为修改需要提交事务)

分为查询和增删改操作
增删改操作需要连接对象.commit()

简单封装如下:

""
封装一个做作mysql数据库的类
封装的功能:
    1、数据的查询操作
    2、增删改操作
"""
import pymysql

class MysqlBD:
    # __init__创建对象的时候初始化操作
    def __init__(self):
        self.con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")
        self.cur = self.con.cursor()
    # 数据的查询操作
    def find(self,sql):
        self.cur.execute(sql)
        datas = self.cur.fetchall()
        return datas
    # 增删改操作
    def update(self,sql):
        self.cur.execute(sql)
        self.con.commit()
if __name__  == ‘__main__‘:
    db = MysqlBD()
    select_sql = "select name from python.cfl_emp where id = 6;"
    res = db.find(select_sql)
    print(f"查询结果:{res}")

    update_sql = "UPDATE python.cfl_emp SET  name = ‘钱一1‘ WHERE id = 6;"
    res_1 = db.update(update_sql)
    select_sql = "select name from python.cfl_emp where id = 6;"
    res1 = db.find(select_sql)
    print(f"查询结果:{res1}")

执行结果:

原文地址:https://www.cnblogs.com/shishibuwan/p/12588289.html

时间: 2024-08-30 02:39:27

python-数据库之pymysql模块(连接对象-游标对象-执行-获取值或者提交事务)的相关文章

Python连接MySQL数据库之pymysql模块使用

Python连接MySQL数据库之pymysql模块使用 Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数据库. PyMySQL安装 pip install pymysql 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动. 你有可以连接该数据库的用户名和密码 你有一个有权限操作的datab

python如何使用pymysql模块

Python 3.x 操作MySQL的pymysql模块详解 前言pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而MySQLdb不支持3.x版本. 一.安装 pip3 install pymysql 二.pymysql方法 pymysql.connect()参数说明 参数 类型 说明 host str mysql服务器地址 port int mysql服务器端口号 user str 用户名 passwd str

数据库:pymysql模块

一 介绍 之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装 pip3 install pymysql 二 链接.执行sql.关闭(游标) import pymysql user=input('用户名: ').strip() pwd=input('密码: ').strip() #链接 conn=pymysql.connect(host='localho

Python数据库编程pymysql

ython数据库编程pymysql 一.数据库编程介绍 数据库编程就是针对数据库的操作,通过编写程序的方式,让程序做为数据库的客户端进行数据库操作. 对于MySQL的操作我们可以通过SQL语句,但是有很多情况下我们需要写入MySQL的数据非常多,并且是在其他平台获取数据的同时写入MySQL,需要边获取边写入,这种情况是不适合使用SQL语句的. 有些情况是我们需要读取MySQL中的数据,来给代码使用,这个时候我们需要将数据直接读到代码中,也不适合使用SQL语句. Python提供了一个数据库编程的

Python连接MySQL数据库之pymysql模块使用(1)

01Python登录.py username = input("输入用户名:")pwd = input("请输入密码:") # if username == "erge" and pwd == "dashabi":# print("登陆成功!")# else:# print("滚~") with open("userinfo.txt", "r",

python数据库操作pymysql

安装数据库: pip3 install pymysql 进行数据库的更新.插入.查询等操作: 1 #!/usr/bin/python3.4 2 # -*- coding: utf-8 -*- 3 4 #-----------------原表格----------------- 5 6 #+-------+-----------+------------+------+ 7 #| mid | name | birth | sex | 8 #+-------+-----------+--------

Python 学习之urllib模块---用于发送网络请求,获取数据

1.urllib urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urlli.robotparser四个子模块. (1)urllib.request用法 1)urlopen函数:用于打开一个URL(urlopen返回一个类文件对象,可以像文件一样操作) 例如: import urllib.request web=urllib.request.urlopen('http://www.baidu.com') conten

Python 学习之urllib模块---用于发送网络请求,获取数据(2)

接着上一次的内容. 先说明一下关于split()方法:它通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串(把一个字符串分割成很多字符串组成的list列表) 语法:str.split(str="", num=string.count(str)). 参数:str 分隔符,默认为空格.num 分割次数 返回值:返回分割后的字符串列表 例如:你需要将一个英语句子中的每一个单词拿出来单独处理,就可以将其进行分割. 如:a=' I am a new stude

Python 学习之urllib模块---用于发送网络请求,获取数据(4)

承接将查询城市编码的结果保存到文件中,以字典的形式保存,目的是为了在查询某个城市的天气的时候,能够通过输入的城市名称,找到对应的城市编码.所以此结果字典的数据结构,就是city={城市名称:城市编码} so,可以这样编写: 当然,你可以打印出结果看看. 现在我们就需要将这个结果写到文件中去了.注意,这里就需要用到昨天说的python3编码的知识啦,结尾有提到哦. import  codecs ff=codecs.open('c:\Python34\city10.py','w','utf-8')