iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >pymysql操作mysql数据库的方法
  • 738
分享到

pymysql操作mysql数据库的方法

pymysql操作mysql数据库pymysql操作mysql 2023-04-19 05:04:13 738人浏览 薄情痞子
摘要

目录前言1、pyMysql.connent2、conn.cursor()3、cursor.execute()4、cursor.executemany()5、cursor.fetchone()6、cursor.scroll

前言

本篇博客主要讲的是一些基础的pymysql操作mysql数据库的方法,如果有不足之处,欢迎各位指正

1、pymysql.connent

用法:创建链接

语法:conn = pymysql.connect(host=‘127.0.0.1’, port=端口号, user=‘数据库用户名’, passwd=‘密码’, db=‘数据库名’)

conn = pymysql.connect(host='127.0.0.1', 
                 port=3306, user='root', passwd='@123456', db='db4')

2、conn.cursor()

用法:创建光标

cursor = conn.cursor()

游标设置为字典类型

# 游标设置为字典类型
cursor = conn.cursor("cursor"=pymysql.cursors.DictCursor)

栗子:
sql = "select * from department;"
# 执行sql语句的函数,使用下面函数进行拼接,防止SQL注入
cursor.execute(sql)
# cursor.scroll(1,mode='relative')
result = cursor.fetchone()
print(result)
输出结果:
{'id': 1, 'title': '财务'}

3、cursor.execute()

用法:执行sql语句

cursor.execute(sql)

4、cursor.executemany()

用法:批量执行sql语句

cursor.executemany(sql,[('销售'), ('经理')])

5、cursor.fetchone()

用法:SQL执行select默认只是拿一个结果,多次执行该语句可以依次向下拿数据

import  pymysql
# 创建链接,跟Socket服务类似
conn = pymysql.connect(host='127.0.0.1', port=3306, 
                 user='root', passwd='@123456', db='db4')
# 创建游标(相当与创建一个拿数据的手)
cursor = conn.cursor()
# 创建要执行的SQL语句
sql = "select * from department;"
# 执行sql语句的函数,使用下面函数进行拼接,防止SQL注入
cursor.execute(sql)
result = cursor.fetchone()
print(result)
result = cursor.fetchone()
print(result)
result = cursor.fetchone()
print(result)
# 关闭链接
cursor.close()
conn.close()

输出结果:
(1, '财务')
(2, '公关')
(3, '测试')

6、cursor.scroll()

用法:注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:

  • cursor.scroll(1,mode=‘relative’) # 相对当前位置移动
  • cursor.scroll(2,mode=‘absolute’) # 相对绝对位置移动

表结构:

在这里插入图片描述

栗子:

1、
cursor.execute(sql)
result = cursor.fetchone()
print(result)
输出结果:
(1, '财务')
2、
cursor.execute(sql)
cursor.scroll(1,mode='absolute')
result = cursor.fetchone()
print(result)
输出结果:
(2, '公关')
3、
cursor.execute(sql)
cursor.scroll(1,mode='relative')
result = cursor.fetchone()
print(result)
输出结果:
(2, '公关')

7、cursor.fetchmany()

用法:可以设置返回值的个数cursor.fetchmany(num)

cursor.execute(sql)
# cursor.scroll(1,mode='relative')
# result = cursor.fetchone()
# print(result)
result = cursor.fetchmany(2)
print(result)
输出结果:
((1, '财务'), (2, '公关'))

8、cursor.fetchall()

用法:顾名思义就是拿到所有的结果

sql = "select * from department;"
# 执行sql语句的函数,使用下面函数进行拼接,防止SQL注入
cursor.execute(sql)
# cursor.scroll(1,mode='relative')
# result = cursor.fetchone()
# print(result)
# result = cursor.fetchmany(2)
# print(result)
result = cursor.fetchall()
print(result)
输出结果:
((1, '财务'), (2, '公关'), (3, '测试'), (4, '运维'), (5, '销售'))

9、cursor.lastrowid()

用法:获取新创建数据自增ID,如果新增加了多条数据只返回最后插入的那条数据的自增id

PS:如果只想一个一个拿id只能够一个一个插入​​​​​​​

sql = "insert into department(title) values(%s)"

cursor.executemany(sql,[('经理')])
# 获取插入值的自增id
print(cursor.lastrowid)
# 将执行的结果提交到表中,否则表不会发生变换
conn.commit()
输出结果:
6

10、今日练习

题目要求:

练习:
    权限管理
        权限表:
            1、订单管理
            2、用户管理
            3、菜单管理
            4、权限分配
            5、Bug管理
        用户表:
            1、蔡徐坤
            2、鸡哥
            3、坤哥
        用户关系权限表:
            1    1
            1    2
            2    1
python实现:
    某个用户登入后,可以查看自己的所有权限

题目答案:

【1、创建权限表】

CREATE TABLE power (
	pid INT auto_increment PRIMARY KEY,
	purview	CHAR(10)
)ENGINE= INNODB DEFAULT CHARSET= utf8;

【2、创建用户表】
CREATE TABLE users (
	uid INT auto_increment PRIMARY KEY,
	username	CHAR(10)
)ENGINE= INNODB DEFAULT CHARSET= utf8;

【3、创建用户权限关系表】
CREATE TABLE use_pow (
	upid INT auto_increment PRIMARY KEY,
	power_id INT,
	user_id INT,
	UNIQUE uq_pid_uid(power_id, user_id),
	CONSTRaiNT fk_pow FOREIGN KEY (power_id) REFERENCES power(pid),
	CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(uid)
)ENGINE= INNODB DEFAULT CHARSET= utf8;

py文件:
import pymysql
user = input('请输入用户名称>>>')
# 连接数据库
conn  = pymysql.connect(host='127.0.0.1', port=3306, 
                  user='root', passwd='@123456', db='db_grant')

# 创建光标
cursor = conn.cursor()

# 查询是否存在该用户
sql = "SELECT uid FROM users WHERE username = %(u)s"

cursor.execute(sql, {'u': user})
# 获取到用户的id
uid = cursor.fetchone()
# print(uid[0], type(uid[0]))
if uid:
# 这里的%s如果换成%d就会报错因为execute无论传入什么类型都要用%s来占位
sql2 = "SELECT purview from power WHERE pid in 
(SELECT power_id FROM use_pow WHERE user_id = %s)"
cursor.execute(sql2, uid[0])
result = cursor.fetchall()
print(result)
else:
print("没有该用户")
cursor.close()
conn.close()

到此这篇关于pymysql简单操作mysql数据库的方法的文章就介绍到这了,更多相关pymysql操作mysql数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: pymysql操作mysql数据库的方法

本文链接: https://www.lsjlt.com/news/201617.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • pymysql操作mysql数据库的方法
    目录前言1、pymysql.connent2、conn.cursor()3、cursor.execute()4、cursor.executemany()5、cursor.fetchone()6、cursor.scroll...
    99+
    2023-04-19
    pymysql操作mysql数据库 pymysql操作mysql
  • python 实现 pymysql 数据库操作方法
    目录一、安装二、连接数据库三、创建数据库四、创建数据表五、插入一条数据六、插入多条数据七、数据统计八、获取表名信息九、获取单条数据十、查询多条数据十一、查询所有数据十二、上下文管理一...
    99+
    2024-04-02
  • python怎么操作pymysql数据库
    本篇内容主要讲解“python怎么操作pymysql数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么操作pymysql数据库”吧!一、安装pip install&n...
    99+
    2023-06-30
  • Python数据库操作 ---- pymysql教学
    文章目录 前提准备连接数据库创建数据库创建数据表、插入数据查询数据更新数据删除数据实战应用总结 前提准备 安装mysql 在使用pymysql的前提就是又一个mysql数据库,这个数据库可以是本地数据库也可以是远程的数据...
    99+
    2023-08-18
    数据库 mysql sql
  • 【Python】系列模块之pymysql操作MySQL 数据库
    目录 一、安装pymysql 二、连接数据库 三、数据库操作 3.1 查询 3.2 更新 3.3 使用循环批量更新  Python 系列文章学习记录:  Python系列之Windows环境安装配置_开着拖拉机回家的博客-CSDN博客 ...
    99+
    2023-09-03
    数据库 python mysql pymysql
  • 调用pymysql模块操作数据库
    1、创建数据库表: 1 def create_table(tb_name): 2 import pymysql#导入模块 3 #连接数据库 4 db = pymysql.Connect('localhos...
    99+
    2023-01-31
    模块 操作 数据库
  • Python操作MySQL数据库—pymysql库(可直接使用的模板通用操作)
    Python与MySQL数据库交互 1.DB-API:(DB是data;API是方法,接口) Python与数据库的交互: 在没有DB-API之前,各数据库之间的应用接口非常混乱,实现各不相同,如果项目需要更换数据库,基本上需要把所有和...
    99+
    2023-08-16
    mysql python pymysql库
  • 利用python中pymysql操作MySQL数据库的新手指南
    目录一. pymysql介绍 二. 连接数据库的完整流程 1. 引入pymysql模块 2. 创建连接对象 3. 使用连接对象创建游标对象 4. 准备需要使用的sql语句 5. 使用...
    99+
    2024-04-02
  • python数据库操作之PyMysql怎么使用
    本文小编为大家详细介绍“python数据库操作之PyMysql怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python数据库操作之PyMysql怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。P...
    99+
    2023-07-05
  • PHP7原生MySQL数据库的操作方法
    这篇文章主要讲解了“PHP7原生MySQL数据库的操作方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP7原生MySQL数据库的操作方法”吧!1、连接到 MySQL服务器mysqli_...
    99+
    2023-06-20
  • 【python】flask+pymysql 实现Web端操作数据库!
    Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。 Flask也被称为 “microframework” ,因为它...
    99+
    2023-10-25
    python flask 后端 1024程序员节
  • node操作MySQL数据库的方法有哪些
    这篇文章主要介绍“node操作MySQL数据库的方法有哪些”,在日常操作中,相信很多人在node操作MySQL数据库的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node操作MySQL数据库的方法...
    99+
    2023-07-05
  • pymysql对数据库基础操作与模拟sq
    本文将介绍python3中的pymysql模块对mysql进行增,删,改,查日常数据操作;实验的环境Ubuntu 16.04 mysql5.7.20 python3.5.2 数据库的安装忽略,如果也是ubuntu可直接通过sudo ...
    99+
    2023-01-31
    操作 数据库 基础
  • 【MySQL】数据库的操作
    目录 前言 创建数据库 编码集和校验集 不同校验集的区别 删除数据库 确认当前数据库 查看数据库属性 修改数据库属性 备份与还原 数据库和表的备份 还原 创建表 查看列结构 查看表属性 修改表的列 修改表名称  修改列名称 删除表 前言...
    99+
    2023-09-14
    数据库 mysql
  • mysql-数据库的操作
    系统数据库执行如下命令,查看系统所有的数据库mysql> show databases;+--------------------+| Database           |+---...
    99+
    2023-01-30
    操作 数据库 mysql
  • 【MySQL】数据库——库操作
    文章目录 1. 创建数据库[IF NOT EXISTS] 的使用 2. 删除库3. 数据库的编码问题查看系统默认支持的字符集查看系统默认支持的校验集只查看 database的校验集指定编码...
    99+
    2023-10-20
    数据库 mysql
  • python数据库操作指南之PyMysql使用详解
    目录Pymysql使用详解安装使用连接数据库操作数据库总结PyMysql使用详解 在编写小脚本时,PyMysql是快速连接并操作数据库的一个不错选择。 安装 pip3 install PyMysql # 可使用 pip ...
    99+
    2023-03-02
    pymysql使用教程 pymysql用法 pymysql怎么用
  • MySQL数据库约束的操作方法是什么
    本篇内容主要讲解“MySQL数据库约束的操作方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库约束的操作方法是什么”吧!一、约束是什么约束就是,在创建表的时候,对表设置一些...
    99+
    2023-07-04
  • CMD命令操作MySql数据库的方法详解
    第一:mysql服务的启动和停止 net stop mysql net start mysql ...
    99+
    2024-04-02
  • MySQL数据库的备份与还原操作方法
    目录1、数据库备份2、数据还原1、数据库备份 备份的结果都是SQL指令 mysqldump:专门用于备份SQL的客户端 SQL备份:表结构 + 数据 缺点: 会产生的备份文件特别大不...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作