python使用mysql数据库示例代码

yizhihongxing

下面是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 支持向量机(SVM)算法

    下面是关于“详解Python支持向量机(SVM)算法”的完整攻略。 1. 支持向量机(SVM)算法简介 支持向量机(SVM)是一种二分类模型它的基本模型是定义特征空间上间隔最大的线性分类器,其学习策略便是间隔最大化,终可转化为一个凸二次规划问题的求解。SVM算法具有良好的泛化能力和鲁棒性,被广泛用于分类、回归和异常检测等领域。 2. Python实现支持向量…

    python 2023年5月13日
    00
  • Python 值类型和引用类型有什么区别?

    在Python中,函数参数的传递有两种方式:值传递和引用传递。 值传递 值传递是指在函数调用时,实参将自己的值传递给形参,形参获得了实参的一个拷贝,这样函数内部对形参的任何改变都不会影响实参本身。在Python中,不可变对象(如数字、字符串、元组等)采用值传递。 下面是一个例子: def change_num(num): num += 10 return n…

    2023年2月20日
    00
  • python实现简单贪吃蛇游戏

    Python实现简单贪吃蛇游戏的完整攻略 介绍 贪吃蛇游戏是一种经典的小游戏,其规则简单易懂,玩家只需要通过控制蛇的行动来获取食物,获得高分。本攻略将带您了解Python实现简单贪吃蛇游戏的过程。 游戏规则 游戏的画布大小为 $400 \times 400$,蛇的大小为 10 * 10; 蛇每移动一步,长度增加一节; 游戏开始时,有一个食物在画布上随机生成;…

    python 2023年6月6日
    00
  • Python如何读写字节数据

    当涉及到读写文件或网络传输时, Python 有时需要处理二进制数据。二进制数据通常以字节为单位进行读写。在Python中,要进行读写字节数据,可以使用以下两种方法:使用二进制模式打开文件或使用 bytes 和 bytearray 类型。 二进制模式打开文件 使用 open() 函数打开文件时,可以通过在文件名后添加 b 标志,来表明文件将在二进制模式下进行…

    python 2023年5月18日
    00
  • python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)

    下面是详细讲解“python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)”的攻略。 1. 准备工作 在开始之前,我们需要先准备好以下工具和库: Python3.x环境 Chrome浏览器 Chrome浏览器驱动:根据自己使用的Chrome版本下载对应的驱动 requests、selenium、pyquery等Python库 2. 分析网页结构 在使用P…

    python 2023年5月14日
    00
  • python安装cx_Oracle和wxPython的方法

    安装cx_Oracle 访问Oracle官网,下载适合自己系统的Oracle Instant Client和SDK,建议下载与Oracle数据库版本一致的版本,下载完成后解压到指定目录。 安装cx_Oracle,可以使用pip安装,打开命令行窗口,输入以下命令,等待安装完成: pip install cx_Oracle 卸载pypyodbc,因为冲突会导致无…

    python 2023年5月13日
    00
  • 利用Python编写简易的录制屏幕小工具

    当今的科技时代,录制教学视频或者分享自己的屏幕操作已经成为一项常见的任务。Python作为一门多功能的编程语言,理所当然也可以应用于这样的任务,编写一款简易的录制屏幕小工具相对来说也不是特别困难。下面是利用Python编写简易的录制屏幕小工具的完整攻略。 步骤1:安装必要的库 在编写代码之前,先确保安装了以下几个库:- pyautogui- opencv-p…

    python 2023年6月3日
    00
  • Python while true实现爬虫定时任务

    实现爬虫的定时任务需要用到while True循环和time.sleep()方法。当然在循环内部还需要完成实际的爬虫任务。下面是具体的步骤: 1. 导入相关模块 首先要导入的模块是requests和beautifulsoup4,用于进行网络请求和网页解析。另外还需要time模块用于设置间隔时间。 import requests from bs4 import…

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