python使用mysql数据库示例代码

下面是Python使用MySQL数据库的示例代码攻略,包含了数据库连接、数据查询和数据插入等操作。

连接MySQL数据库

在Python程序中连接MySQL数据库,需要先安装MySQL-Python模块。使用以下命令可以安装该模块:

pip install mysql-connector-python

连接MySQL数据库的代码示例如下:

import mysql.connector

# 根据实际情况修改参数
config = {
  'user': 'root',
  'password': '123456',
  'host': 'localhost',
  'database': 'test'
}

# 连接MySQL数据库
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()

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

数据查询

使用Python程序查询MySQL数据库的代码示例如下:

import mysql.connector

# 根据实际情况修改参数
config = {
  'user': 'root',
  'password': '123456',
  'host': 'localhost',
  'database': 'test'
}

# 查询数据
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
query = ("SELECT * FROM users WHERE id = %s")
data = (1,)
cursor.execute(query, data)
result = cursor.fetchone()

# 输出查询结果
print(result)

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

数据插入

使用Python程序向MySQL数据库中插入数据的代码示例如下:

import mysql.connector

# 根据实际情况修改参数
config = {
  'user': 'root',
  'password': '123456',
  'host': 'localhost',
  'database': 'test'
}

# 插入数据
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
query = ("INSERT INTO users (name, email) VALUES (%s, %s)")
data = ("Tom", "tom@example.com")
cursor.execute(query, data)
cnx.commit()

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

以上是Python使用MySQL数据库的示例代码攻略。下面给出两个Python和MySQL配合使用的实际应用场景:

示例1:Python和MySQL配合,自动将数据存入数据库

假设有一个数据文件data.txt,内容如下:

name,age,email
Tom,18,tom@example.com
Jerry,20,jerry@example.com

现在需要将数据存入MySQL数据库中的students表中,表结构如下:

id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT,
email VARCHAR(255),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP

运行以下Python程序,即可将数据存入MySQL数据库中:

import mysql.connector

# 根据实际情况修改参数
config = {
  'user': 'root',
  'password': '123456',
  'host': 'localhost',
  'database': 'test'
}

# 连接MySQL数据库
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()

# 读取数据文件
with open('data.txt') as f:
    header = f.readline().strip().split(',')
    for line in f.readlines():
        data = line.strip().split(',')
        query = "INSERT INTO students (name, age, email) VALUES (%s, %s, %s)"
        cursor.execute(query, tuple(data))

# 提交更改
cnx.commit()

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

示例2:Python和MySQL配合,统计访问日志并保存到数据库

假设有一个访问日志文件access.log,内容如下:

192.168.1.1 - - [14/Feb/2021:23:59:58 +0800] "GET /index.html HTTP/1.1" 200 2434
192.168.1.2 - - [14/Feb/2021:23:59:59 +0800] "GET /index.html HTTP/1.1" 200 2434
192.168.1.3 - - [15/Feb/2021:00:00:00 +0800] "GET /index.html HTTP/1.1" 200 2434
192.168.1.1 - - [15/Feb/2021:00:00:01 +0800] "GET /index.html HTTP/1.1" 200 2434

现在需要对访问日志进行统计,并将结果保存到MySQL数据库中的access_stats表中,表结构如下:

id INT AUTO_INCREMENT PRIMARY KEY,
date DATE NOT NULL,
count INT NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP

运行以下Python程序,即可对访问日志进行统计并将结果保存到MySQL数据库中:

import re
from datetime import datetime
import mysql.connector

# 根据实际情况修改参数
config = {
  'user': 'root',
  'password': '123456',
  'host': 'localhost',
  'database': 'test'
}

# 连接MySQL数据库
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()

# 统计访问日志行数
counts = {}
date_format = '%d/%b/%Y:%H:%M:%S'
match_pattern = r'\[(.+)\]\s+"(.+)"\s+(\d+)\s+(\d+)'
with open('access.log') as f:
    for line in f.readlines():
        match = re.match(match_pattern, line.strip())
        if match:
            date_str = match.group(1)
            date = datetime.strptime(date_str, date_format).date()
            if date in counts:
                counts[date] += 1
            else:
                counts[date] = 1

# 将统计结果保存到MySQL数据库中
for date, count in counts.items():
    query = "INSERT INTO access_stats (date, count) VALUES (%s, %s)"
    data = (date, count)
    cursor.execute(query, data)
cnx.commit()

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

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python使用mysql数据库示例代码 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • Python日期时间模块arrow的具体使用

    来让我们详细学习一下Python日期时间模块arrow的具体使用吧。 什么是arrow模块? arrow是一个Python日期和时间处理模块,旨在提供易于使用的API。 可以支持常见的人类可读格式,比如周三和11:30下午等等。另外,该模块对时区、时间差、时间精度等方面均有良好的支持。 安装和引入 安装arrow模块非常简单,只需要在命令行执行pip ins…

    python 2023年6月2日
    00
  • OpenCV实现图片亮度增强或减弱

    实现图片亮度增强或减弱可以利用OpenCV的图像处理库,具体操作可以分为以下步骤: 准备工作 安装Python和OpenCV库 导入OpenCV库 import cv2 亮度增强 亮度增强可以通过增加每个像素的亮度值来实现,具体操作步骤如下:1. 读取待处理的图片 img = cv2.imread(‘image.jpg’, cv2.IMREAD_COLOR)…

    python 2023年5月19日
    00
  • python 实现朴素贝叶斯算法的示例

    下面是详细讲解“Python实现朴素贝叶斯算法的示例”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 朴素贝叶斯算法是一种基于贝叶斯定理和特征条件独立假设的分类算法。其基本思想是根据已知类别的训练数据,计算每个特征在不同类别下的条件概率,然后根据贝叶斯定理计算每个类别的后验概率,最终将样本分配到后验概率最大的类别中。具体来说,朴素贝叶斯…

    python 2023年5月14日
    00
  • python解决字典中的值是列表问题的方法

    Python解决字典中某个key对应的值是列表的问题很常见,为此我们提供以下攻略。 方法一:使用setdefault函数 对于字典中的某个key,如果值是列表,我们可以使用setdefault函数进行处理。 setdefault函数接受两个参数:key表示字典中要查找的键;默认值为key对应的值,如果键不存在于字典中,才将key插入到字典中。对于本题中的问题…

    python 2023年5月13日
    00
  • python查询mysql,返回json的实例

    下面我将为您详细讲解如何使用Python查询MySQL数据库,并返回JSON格式的数据。 1. 安装MySQL驱动 在使用Python查询MySQL数据库之前,我们需要先安装相应的MySQL驱动。这里我们以mysql-connector-python为例进行安装,您也可以选择其他的Python MySQL驱动。 pip install mysql-conne…

    python 2023年6月3日
    00
  • Python多线程使用方法详细讲解

    Python多线程使用方法详细讲解 在 Python 中,多线程可以用于许多场景,比如爬虫、并行处理等。本文将详细讲解 Python 多线程的使用,包括线程创建、启动、停止、同步等方面。 线程创建 Python 中创建线程有两种方式:函数和类。我们先看函数方式的创建。 函数方式 在 Python 中,可以使用 threading 模块的 Thread() 方…

    python 2023年5月19日
    00
  • Pandas之read_csv()读取文件跳过报错行的解决

    当使用pandas的read_csv()方法读取文件时,有时候会出现一些行无法正确的被转换为DataFrame对象的情况,此时可能会出现报错或者丢失数据的情况。本文将介绍如何通过读取CSV文件时跳过报错行,从而更好的处理文件。 1. 使用Python内置的csv模块进行文件处理 一个常见的场景是,读取的CSV文件有某些问题,不能按照标准格式读取,导致报错。这…

    python 2023年5月13日
    00
  • Python bytes string相互转换过程解析

    Python bytes和string相互转换过程解析 在Python中,bytes和string是两种不同的数据类型,bytes表示二进制数据,而string表示文本数据。本文将介绍如何在Python中进行bytes和string之间的相互转换,并提供两个示例。 bytes和string的相互转换 在Python中,bytes和string之间的相互转换可…

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