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的innodb数据库引擎详解

    MySQL的InnoDB数据库引擎详解 MySQL是一款广泛使用的关系型数据库管理系统,而InnoDB是其常用的数据库引擎之一。该引擎通过实现ACID事务支持,提供了更好的数据一致性和并发性,适用于高并发、高可靠性以及大规模数据存储的应用场景。 InnoDB的基本特性 支持固化行存储,以及基于主键索引和辅助索引的查询优化; 通过MVCC机制,支持非阻塞读(读…

    database 2023年5月19日
    00
  • SQLServer XML查询18句话入门教程

    我来详细讲解“SQLServer XML查询18句话入门教程”的完整攻略。 简介 XML是一种常见的数据存储格式,而SQLServer是一种常用的关系型数据库。将XML数据存储到SQLServer中,需要用到XML数据类型和相关的XML查询语言。本文介绍了18句话,让您轻松入门SQLServer XML查询。 步骤 下面按照18句话的顺序分别介绍SQLSer…

    database 2023年5月21日
    00
  • java实现AES 32位加密解密的方案

    针对“java实现AES 32位加密解密的方案”的完整攻略,我将分为以下几个部分进行讲解: 什么是AES加密 Java如何实现AES加密 示例1:AES加密32位字符串 示例2:AES解密32位字符串 什么是AES加密 AES (Advanced Encryption Standard)是一种高级加密标准,是目前最常见的加密算法之一。AES加密有多个密钥长度…

    database 2023年5月21日
    00
  • oracle实现动态查询前一天早八点到当天早八点的数据功能示例

    针对“oracle实现动态查询前一天早八点到当天早八点的数据功能”,这个需求可以通过以下步骤来实现。 步骤一:获取查询时间范围 首先,我们需要获取到前一天早八点到当天早八点的时间范围,可以使用以下SQL语句(假设当前时间为2022年3月16日,早上9点): SELECT TRUNC(SYSDATE-1) + INTERVAL ’08’ HOUR AS sta…

    database 2023年5月19日
    00
  • Cassandra 和 Couchbase 的区别

    Cassandra和Couchbase都是NoSQL数据库,在某些方面有所相似,但是它们也有一些显著的区别。 Cassandra和Couchbase的简介 Cassandra是一个开源的分布式NoSQL数据库,最初由Facebook开发,针对大型数据和云基础架构而设计。Cassandra具有高度可扩展性,可以轻松地扩展到多个节点,确保高性能和高可用性。 Co…

    database 2023年3月27日
    00
  • MySQL之Join语句执行流程是什么

    本文小编为大家详细介绍“MySQL之Join语句执行流程是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL之Join语句执行流程是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 Join语句执行流程 在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类: 不让使用 join,使用 join 有什么问…

    MySQL 2023年4月11日
    00
  • SQL 按照时间单位分组

    首先需要明确一下什么是按照时间单位分组。在SQL中,我们可以使用DATE_TRUNC函数将一个时间列按照指定的时间单位(如年、月、日、小时等)截取,并对这个时间单位进行分组和聚合计算。下面将介绍如何在SQL中使用DATE_TRUNC函数进行时间分组操作。 使用DATE_TRUNC函数进行时间分组 DATE_TRUNC函数的语法如下: DATE_TRUNC(‘…

    database 2023年3月27日
    00
  • SQL 2005使用专用管理员连接(DAC)的技巧及修改系统表的方法

    SQL 2005使用专用管理员连接(DAC)的技巧及修改系统表的方法 在 SQL Server 2005 中,有一种特殊的连接方式叫做“专用管理员连接(Dedicated Administrator Connection, DAC)”,它可以让管理员在无法通过普通连接方式访问数据库服务器时,通过单独的连接方式登录到一个可控制的会话中,在该会话中执行管理任务。…

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