python笔记:mysql、redis操作方法

Python笔记:MySQL、Redis操作方法

MySQL的常用模块

在Python3中使用MySQL,需要先安装pymysql模块,可以使用以下命令进行安装:

pip3 install pymysql

需要连接数据库时,可以使用以下代码:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print("Database version : %s " % data)

# 关闭数据库连接
db.close()

插入数据

使用以下代码可以向MySQL数据库中插入数据:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME,\
       LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
       ('Mac', 'Mohan', 20, 'M', 2000)

try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 如果发生错误则回滚
   db.rollback()

# 关闭数据库连接
db.close()

查询数据

使用以下代码可以从MySQL数据库中查询数据:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
        WHERE INCOME > '%d'" % (1000)

try:
   # 执行SQL语句
   cursor.execute(sql)
   # 获取所有记录列表
   results = cursor.fetchall()
   for row in results:
      fname = row[0]
      lname = row[1]
      age = row[2]
      sex = row[3]
      income = row[4]
      # 打印结果
      print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
             (fname, lname, age, sex, income ))
except:
   print("Error: unable to fetch data")

# 关闭数据库连接
db.close()

Redis的常用模块

在Python3中使用Redis,需要先安装redis模块,可以使用以下命令进行安装:

pip3 install redis

需要连接Redis时,可以使用以下代码:

import redis

# 连接redis
r = redis.Redis(host='localhost', port=6379, db=0)

# 写入数据
r.set('name', 'Redis')

# 读取数据
print(r.get('name'))

# 删除数据
r.delete('name')

递增操作

Redis支持对键进行递增操作,可以使用以下代码:

import redis

# 连接redis
r = redis.Redis(host='localhost', port=6379, db=0)

# 写入数据
r.set('count', 1)

# 递增
r.incr('count')

# 读取数据
print(r.get('count'))

# 递减
r.decr('count')

# 读取数据
print(r.get('count'))

数据库连接池

使用连接池可以减少连接数据库的开销,可以使用以下代码:

import redis
from redis import ConnectionPool

# 创建连接池
pool = ConnectionPool(host='localhost', port=6379, db=0)

# 获取连接
r = redis.Redis(connection_pool=pool)

# 写入数据
r.set('name', 'Redis')

# 读取数据
print(r.get('name'))

# 删除数据
r.delete('name')

以上是MySQL和Redis在Python中常用的操作方法,更多详细信息可以参考官方文档。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python笔记:mysql、redis操作方法 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • Mysql主从延时图解方法

    关于Mysql主从延时图解方法的完整攻略,我为您提供以下内容。 什么是Mysql主从延时 Mysql主从延时指的是主服务器和从服务器之间的同步延迟时间。在数据库主从架构中,主服务器上的数据会被同步到从服务器上,从而实现数据备份和服务冗余。但是,在实际运行中,由于Mysql主从同步机制的特性以及基础设备性能差异,会存在从服务器上的数据与主服务器上的数据存在延时…

    database 2023年5月22日
    00
  • redis sentinel监控高可用集群实现的配置步骤

    Redis Sentinel是Redis分布式系统的监控工具,它能够监控Redis集群中每个节点的运行状态,并在节点故障时进行自动故障转移,从而保证Redis集群的高可用性。下面是采用Redis Sentinel实现高可用集群监控的完整配置步骤: 安装Redis Sentinel 首先需要安装Redis Sentinel。可以通过以下命令进行安装: sudo…

    database 2023年5月22日
    00
  • Redis如何优雅的删除特定前缀key

    Redis提供了许多API来删除key,但是如果你希望删除特定前缀的key时,使用特定的API并不太方便。在这种情况下,我们可以使用Redis提供的Lua脚本来优雅地删除这些key。 以下是删除特定前缀key的完整攻略: 步骤一:编写Lua脚本 首先,我们需要编写Lua脚本。它将接受一个参数,即需要删除的key的前缀。脚本将枚举所有匹配前缀的key并将它们都…

    database 2023年5月22日
    00
  • 安装Ubuntu 20.04后要做的事(小白教程)

    下面我就详细讲解一下安装Ubuntu 20.04后要做的事情(小白教程)的完整攻略。 1. 更新系统 更新系统可以确保系统获得最新的安全补丁和软件更新。打开终端(Ctrl+Alt+T),输入以下命令: sudo apt update sudo apt upgrade 这会更新您的软件包并安装任何可用的更新。它可能需要一些时间,取决于您的系统速度和更新的数量。…

    database 2023年5月22日
    00
  • Linux下指定mysql数据库数据配置主主同步的实例

    针对这个问题,我会提供一个完整的攻略以指导Linux下如何实现MySQL数据库主主同步配置。步骤如下: 准备工作 确认MySQL版本一致性,要求两个MySQL实例的版本必须一致。 开启MySQL二进制日志,可以通过修改my.cnf配置文件,将以下参数加入到[mysqld]组中:log-bin=mysql-bin 步骤一:创建复制账户并授权 在两个MySQL实…

    database 2023年5月22日
    00
  • Windows 本地安装mysql8.0

    前言 看了网上许多关于Windows 本地安装mysql的很多教程,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。现我将自己本地安装的步骤总结如下,如有不对的地方,敬请大家批评指正!!! 安装环境:win7/10 一、下载Mysql的安装包 我本地安装是Mysql8.0的版本,所…

    MySQL 2023年4月14日
    00
  • MySQL多表联查的实现思路

    MySQL是一款关系型数据库系统,多表联查也是MySQL使用频率很高的功能。在实际开发中,多表联查可以根据需求来联合多张表查询数据,减少IO操作和循环次数,提高SQL的效率。下面详细讲解MySQL多表联查的实现思路。 1. 多表联查实现思路 多表联查可以使用MySQL的JOIN语句实现。JOIN是关联表查询,它将多张表中的数据通过指定的关联条件合并到一起。J…

    database 2023年5月22日
    00
  • JSP学习之数据库开发小结

    这里我详细讲解一下“JSP学习之数据库开发小结”完整攻略。 1. 理解基础概念 在进行JSP数据库开发之前,需要先了解一些基础概念,包括JDBC、SQL语句、数据库连接池等。 JDBC(Java Database Connectivity):是Java语言中访问数据库的标准规范,提供了一套与数据库通信的API,可以让Java程序与各种关系型数据库进行交互。 …

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部