技术文摘
Python 写入 MySQL 数据库的方法有哪些
Python 写入 MySQL 数据库的方法有哪些
在数据处理和开发的领域中,将 Python 与 MySQL 数据库相结合是常见的需求。Python 凭借其丰富的库和简洁的语法,能方便地与 MySQL 交互并写入数据。下面就为大家介绍几种常见的方法。
使用 MySQL Connector/Python
MySQL Connector/Python 是 MySQL 官方提供的 Python 驱动程序。首先要确保安装该库,使用 pip install mysql-connector-python 即可。
使用时,先建立数据库连接,示例代码如下:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
连接成功后,创建游标对象,通过游标执行 SQL 插入语句。例如向名为 employees 的表中插入数据:
mycursor = mydb.cursor()
sql = "INSERT INTO employees (name, age, department) VALUES (%s, %s, %s)"
val = ("John", 30, "Sales")
mycursor.execute(sql, val)
mydb.commit()
使用 PyMySQL
PyMySQL 也是一个流行的选择,它是纯 Python 实现的 MySQL 客户端库。同样先安装:pip install pymysql。
连接数据库的代码类似:
import pymysql
conn = pymysql.connect(
host='localhost',
user='your_username',
password='your_password',
database='your_database'
)
插入数据的操作如下:
cursor = conn.cursor()
sql = "INSERT INTO employees (name, age, department) VALUES (%s, %s, %s)"
val = ("Jane", 25, "Marketing")
cursor.execute(sql, val)
conn.commit()
使用 SQLAlchemy
SQLAlchemy 是一个强大的数据库抽象层库,支持多种数据库。安装命令:pip install sqlalchemy。
使用 SQLAlchemy 连接 MySQL 并写入数据,代码示例如下:
from sqlalchemy import create_engine, Column, String, Integer
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('mysql+pymysql://your_username:your_password@localhost/your_database')
Session = sessionmaker(bind=engine)
session = Session()
Base = declarative_base()
class Employees(Base):
__tablename__ = 'employees'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
department = Column(String)
new_employee = Employees(name="Bob", age=35, department="IT")
session.add(new_employee)
session.commit()
以上这些方法各有特点,MySQL Connector/Python 是官方驱动,稳定性好;PyMySQL 纯 Python 实现,方便安装;SQLAlchemy 则提供了强大的数据库抽象层,适用于复杂的数据库操作场景。开发者可根据项目需求灵活选择。
TAGS: MySQL数据库 数据库交互 写入方法 Python写入MySQL
- 父容器溢出滚动且子div横向排列的方法
- ECharts 用 JavaScript 代码从服务器获取数据填充横轴分类数据的方法
- Vue3页面px转rem自适应的实现方法
- 事件间参数传递的方法
- Vue里动态添加带动态样式伪元素的方法
- 在 TypeScript 里怎样将对象约束为 CSS 属性
- JS实现渐进式进度条与三角形图片渐进变化的方法
- 利用延迟加载优化树形数据加载困难页面性能的方法
- PHP正则表达式截取&referer=和&username之间部分的方法
- 用HTML实现WebSocket流式消息代码高亮显示的方法
- CSS 中创建带斜角矩形段落的方法
- JavaScript调用Python函数的方法
- eonasdan-bootstrap-datetimepicker 如何在禁用特定星期几的同时指定可选择的特定日期
- 用正则表达式匹配含数字或小数点且长度不超5位的字符串方法
- 微信小程序里多个输入框值的累加方法