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日

相关文章

  • centos下安装mysql服务器的方法

    当我们在 CentOS 系统下需要使用 MySQL 数据库时,需要先安装 MySQL 服务器。以下是在 CentOS 系统下安装 MySQL 服务器的方法: 安装 MySQL 服务器 在终端中输入以下命令以安装 MySQL 服务器软件包: sudo yum install mysql-server 输入你的 sudo 密码,然后按 Enter 键以继续。 安…

    database 2023年5月22日
    00
  • MySQL 存储过程中执行动态SQL语句的方法

    MySQL 存储过程中执行动态 SQL 语句的方法: 在 MySQL 存储过程中,使用动态 SQL 是非常常见的需求。动态 SQL 可以帮助我们根据不同的参数生成不同的 SQL 语句,从而可以更加灵活地查询或操作数据。下面介绍两种执行动态 SQL 的方法。 PREPARE 和 EXECUTE 命令 使用 PREPARE 创建一个准备好的 SQL 语句,使用 …

    database 2023年5月22日
    00
  • Mysql提权的多种姿势汇总

    下面我将为您详细讲解“Mysql提权的多种姿势汇总”的完整攻略。 Mysql提权的多种姿势汇总 0x01 前言 本文主要介绍一些Mysql提权的方法,因此需要有一定的Mysql和Linux基础知识。 0x02 方法 Mysql Root Privilege Escalation:http://www.mysqlab.net/knowledge/kb/deta…

    database 2023年5月22日
    00
  • MySQL 设计和命令行模式下建立详解

    MySQL 是使用得非常广泛的一款关系型数据库管理系统。在 MySQL 中,我们可以使用 SQL 语言对数据库进行各种操作,包括创建数据库、创建表、插入数据、更新数据、删除数据等等。下面,我们将详细讲解 MySQL 的设计和命令行模式下的建立。 MySQL 设计 数据库设计 在 MySQL 中,我们首先要进行的操作就是设计数据库。设计数据库时需要考虑以下几个…

    database 2023年5月22日
    00
  • MySQL删除数据库(DROP DATABASE语句)

    MySQL中可以使用DROP DATABASE语句来删除一个数据库。 这个语句会删除数据库中的所有表和数据,所以在执行该语句前请务必慎重考虑。 使用方法如下: 进入MySQL命令行界面 切换到要删除的目标数据库,例如: USE database_name; 执行DROP DATABASE语句 DROP DATABASE database_name; 执行该语…

    MySQL 2023年3月9日
    00
  • IntelliJ IDEA本地代码覆盖后恢复原来的代码图解

    下面我就来详细讲解“IntelliJ IDEA本地代码覆盖后恢复原来的代码”攻略,包含以下内容: 准备工作 操作步骤 示例说明 1. 准备工作 在进行本地代码覆盖后恢复原来的代码前,需要进行以下准备工作: 在 IntelliJ IDEA 中打开需要覆盖和恢复的项目。 在项目的 settings.gradle 中添加以下代码: groovy include ‘…

    database 2023年5月18日
    00
  • Oracle存储过程游标用法分析

    Oracle存储过程游标用法分析 什么是Oracle存储过程游标? 在Oracle中,存储过程是一个可重用的过程,它是一组预定义的PL/SQL代码块,可以在数据库中多次执行。存储过程可以显著提高性能,因为它们可以在单个调用中执行多个SQL语句,从而减少了网络流量和数据库访问时间。游标是一个PL/SQL指针,可以通过它来处理多个查询结果集,使存储过程变得灵活且…

    database 2023年5月21日
    00
  • mysql升级后报Table ‘mysql.servers’ doesn’t exist

    解决Table ‘mysql.servers’ doesn’t exist 今天遇到一事,就是我在升级mysql数据库后进入数据建立一远程用户,结果报错了。 mysql> flush privileges; ERROR 1146 (42S02): Table ‘mysql.servers’ doesn’t exist   这是由于升级完数据库后丢失原有…

    MySQL 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部