Python写入MySQL数据库的三种方式详解

yizhihongxing

Python是一种广泛应用的语言,常用于数据分析和处理,而MySQL是一种成熟、稳定、高效的关系型数据库,Python与MySQL结合使用,可以实现完整的数据处理流程。在本文中,我们将详细讲解Python写入MySQL数据库的三种方式。

1. 使用Python MySQL Connector库

通过Python MySQL Connector库可以实现Python与MySQL数据库的连接,并对数据库进行增、删、改、查 等操作。

以下是Python写入MySQL数据库的示例代码:

import mysql.connector

# 连接数据库
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="123456",
  database="mydatabase"
)

# 新建游标
mycursor = mydb.cursor()

# 执行SQL语句
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

# 提交到数据库
mydb.commit()

# 输出插入数据的行数
print(mycursor.rowcount, "record inserted.")

在上述代码中,我们首先通过MySQL Connector库连接数据库,然后新建游标,执行INSERT语句,并将数据提交到数据库。在每次执行数据库操作时,都需要先进行连接,创建游标,并在完成使用后关闭连接。

2. 使用pymysql库

pymysql是python的一个用于连接MySQL数据库的第三方库,与mysql-connector-python库类似,它也能够实现Python连接MySQL数据库并对数据库进行增、删、改、查等操作。

以下是Python写入MySQL数据库的示例代码:

import pymysql

# 连接数据库
mydb = pymysql.connect(
  host="localhost",
  user="root",
  password="123456",
  database="mydatabase"
)

# 新建游标
mycursor = mydb.cursor()

# 执行SQL语句
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

# 提交到数据库
mydb.commit()

# 输出插入数据的行数
print(mycursor.rowcount, "record inserted.")

在上述代码中,我们首先通过pymysql库连接数据库,在完成增、删、改、查操作后,同样需要对连接关闭。

3. 使用SQLAlchemy库

SQLAlchemy是Python的一个最流行的ORM(Object-Relational Mapping)库,可以将Python中的对象映射到数据库中的记录,并且能够自动生成SQL语句。

以下是Python写入MySQL数据库的示例代码:

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 连接数据库
engine = create_engine('mysql+pymysql://root:123456@localhost/mydatabase')
Base = declarative_base()

# 创建数据表类
class Customer(Base):
    __tablename__ = 'customers'
    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    address = Column(String(50))

# 创建Session
Session = sessionmaker(bind=engine)
session = Session()

# 插入数据
customer = Customer(name='John', address='Highway 21')
session.add(customer)
session.commit()

# 输出插入数据的id
print('customer id:', customer.id)

在上述代码中,我们首先使用SQLAlchemy中的create_engine()方法连接数据库,然后使用declarative_base()方法基于声明式创建数据表类,并使用sessionmaker()方法创建Session,再执行插入数据操作,并提交数据。最后输出插入数据的id。

通过以上三种方式,我们可以轻松实现Python写入MySQL数据库的功能,具体实现方式根据实际需求选择即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python写入MySQL数据库的三种方式详解 - Python技术站

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

相关文章

  • python入门之算法学习

    下面是关于“Python入门之算法学习”的完整攻略。 1. 算法学习概述 算法是计算机科学的核心,是解决问题的有效方法。Python作为一种高级编语言,具简单易学、易读易写等特点,非常适合用于算法学习和实现。本攻略将介绍Python入门之算学习的基本知识实践技巧。 2. 算法学习基础 2.1 算法的定义 算法是一组有限的、清晰、可执行的规则,用于解决特定问题…

    python 2023年5月13日
    00
  • python paramiko利用sftp上传目录到远程的实例

    让我来讲解“python paramiko利用sftp上传目录到远程的实例”的完整攻略。 首先,需要了解一下paramiko的基本使用,并且需要保证本地机器上安装了paramiko库。 连接远程主机 首先需要使用SSH协议连接到远程主机。示例代码如下: import paramiko #创建SSHClient实例对象并建立ssh连接 ssh = parami…

    python 2023年6月5日
    00
  • Python for循环高级用法

    Python是一门简单、易学、高效的编程语言。其中的for循环语句是Python中最常用的循环语句之一。 在这篇文章中,我们将详细介绍Python的for循环及其用法。 Python for循环的基本语法 Python的for循环语法与其他编程语言中的for循环语法略有不同。在Python中,for循环语句的基本语法如下: for <variable&…

    2023年2月17日 Python流程控制
    00
  • 基于Python制作一副扑克牌过程详解

    基于Python制作一副扑克牌过程详解 简介 本文将详细讲解如何使用Python语言制作一副扑克牌,包括生成扑克牌、洗牌以及发牌。这个项目可以帮助Python初学者熟悉函数定义、数据类型以及列表等基础知识。 需求分析 在开始编写代码之前,我们需要先了解一下该项目的需求,明确需要完成的功能。该项目需要实现以下功能: 生成54张扑克牌,包括52张常规扑克牌和2张…

    python 2023年6月3日
    00
  • Python基于PycURL自动处理cookie的方法

    下面详细讲解“Python基于PycURL自动处理cookie的方法”的完整攻略。 什么是PycURL? PycURL是一个Python扩展模块,它允许你使用Python代码直接处理网络请求。PycURL使用libcurl库,是一个开放源代码的网络库,支持FTP、HTTP、HTTPS、IMAP、POP3、SMTP、TELNET等协议,以及ssl协议和代理服务…

    python 2023年6月3日
    00
  • 盘点Python 爬虫中的常见加密算法

    盘点Python爬虫中的常见加密算法 Python爬虫常涉及到对网页中的数据进行加密解密,因此了解Python爬虫中的常见加密算法是爬虫编程中十分必要的技能。本文将一一介绍这些常见的加密算法,并提供相关的代码示例。 常见的加密算法 1. Base64编码 Base64编码是一种用64个字符来表示任意二进制数据的方法。由于6个位可以用64种不同的状态(2的6次…

    python 2023年6月2日
    00
  • 浅谈如何重构冗长的Python代码

    当我们面对庞大而冗长的Python代码时,很容易让人感到困惑和不知所措。这时候,代码重构就是我们所急需的工具。 代码重构的目的是改进软件的设计、结构和性能,同时不改变其原始功能。下面是如何重构冗长的Python代码的攻略: 1. 确定重构的目标和情境 在进行代码重构之前,首先要确定代码重构的目标和情境。通常有以下几种情境需要进行代码重构: 代码过长、难以维护…

    python 2023年5月31日
    00
  • Python enumerate()添加序号

    enumerate()是Python内置函数,主要作用是为一个可迭代对象添加一个索引序号。经常用于遍历列表、元组、字典等数据结构时,需要同时获取每个元素对应的索引值。 基本语法 enumerate(iterable, start=0) iterable:待添加序号的可迭代对象。 start:序号起始值,默认为0。 使用方法 使用enumerate()的一般流…

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