python写入mysql数据库

频道:网站相关 日期: 浏览:43

Python

Python是一种高级编程语言,广泛应用于数据分析、机器学习、Web开发等领域。由于其简单易学、代码清晰、生态丰富等特点,越来越多的人选择使用Python进行开发。

MySQL

python写入mysql数据库

MySQL是一种关系型数据库管理系统,被广泛应用于Web应用开发、数据仓库等领域。MySQL提供了高性能、可靠性、扩展性等优秀的特性,成为了最流行的开源数据库之一。

Python写入MySQL数据库

Python提供了多种方式将数据写入MySQL数据库,包括使用MySQL官方提供的API、第三方库如PyMySQL、SQLAlchemy等。PyMySQL是一个纯Python实现的MySQL客户端库,支持Python2和Python3,使用简单易懂。SQLAlchemy则是Python的一个ORM框架,支持多种数据库,提供了灵活强大的操作。

使用PyMySQL库写入MySQL数据库

使用PyMySQL库将数据写入MySQL数据库,首先需要创建一个连接,连接数据库并获取游标。连接数据库时需要传入参数host、port、user、password、database等,分别是数据库的地址、端口、用户名、密码和数据库名。

示例代码如下:

```python

import pymysql

# 创建连接

conn = pymysql.connect(

host='localhost',

port=3306,

user='root',

password='123456',

db='test',

charset='utf8mb4'

)

# 获取游标

cursor = conn.cursor()

# 执行SQL语句

sql = "INSERT INTO student(name, age) VALUES (%s, %s)"

data = ('Tom', 18)

cursor.execute(sql, data)

# 提交事务

conn.commit()

# 关闭游标和连接

cursor.close()

conn.close()

```

在这个示例中,创建了一个名为student的表,表中包含name和age两个字段。然后执行了一条INSERT语句,将一条数据插入到表中。

使用SQLAlchemy库写入MySQL数据库

使用SQLAlchemy库将数据写入MySQL数据库,首先需要创建一个引擎,通过引擎连接数据库。然后创建一个会话,用来执行SQL语句。SQLAlchemy还提供了ORM功能,可以将Python对象映射到数据库表中,使得操作更加方便。

from sqlalchemy import create_engine, Column, Integer, String

from sqlalchemy.orm import sessionmaker

from sqlalchemy.ext.declarative import declarative_base

# 创建引擎

engine = create_engine('mysql+pymysql://root:123456@localhost:3306/test?charset=utf8mb4')

# 创建会话

Session = sessionmaker(bind=engine)

session = Session()

# 创建类

Base = declarative_base()

class Student(Base):

__tablename__ = 'student'

id = Column(Integer, primary_key=True)

name = Column(String(50))

age = Column(Integer)

# 创建对象

student = Student(name='Tom', age=18)

# 添加到会话

session.add(student)

session.commit()

# 关闭会话

session.close()

在这个示例中,定义了一个类Student,并使用ORM将其映射到了名为student的表中。然后创建了一个对象,将其添加到会话中并提交事务。

Python是一种强大的编程语言,能够方便地处理各种数据。MySQL是一种高性能、可靠性好的数据库管理系统,能够存储大量数据。将Python和MySQL结合起来,可以实现各种高效的数据处理操作。使用PyMySQL和SQLAlchemy库可以方便地将数据写入MySQL数据库。在实际开发中,还需要注意数据类型、编码、数据库连接池等问题。

网友留言(0)

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。