python数据库操作mysql:pymysql、sqlalchemy常见用法详

1. Python数据库操作MySQL:pymysql和sqlalchemy介绍

Python是一种功能强大的编程语言,可以通过各种库和框架来操作数据库。在Python中,我们可以使用pymysql和sqlalchemy这两个库来进行MySQL数据库的操作。

1.1 pymysql库

pymysql是一个Python连接MySQL数据库的库,可以让我们方便地执行SQL语句,并获取执行结果。下面是pymysql的一些常见用法:

1.2 sqlalchemy库

sqlalchemy是另一个强大的Python库,它提供了一种数据库访问的抽象层,可以与多种数据库进行交互。下面是sqlalchemy的一些常见用法:

2. 使用pymysql进行MySQL数据库操作

2.1 连接数据库

import pymysql

# 连接数据库

conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')

cursor = conn.cursor()

2.2 执行SQL语句

# 执行查询语句

sql = "SELECT * FROM students"

cursor.execute(sql)

result = cursor.fetchall()

# 执行插入语句

sql = "INSERT INTO students (name, age) VALUES ('Tom', 20)"

cursor.execute(sql)

conn.commit()

# 执行更新语句

sql = "UPDATE students SET age = 21 WHERE name = 'Tom'"

cursor.execute(sql)

conn.commit()

# 执行删除语句

sql = "DELETE FROM students WHERE name = 'Tom'"

cursor.execute(sql)

conn.commit()

2.3 关闭数据库连接

# 关闭游标和连接

cursor.close()

conn.close()

3. 使用sqlalchemy进行MySQL数据库操作

3.1 连接数据库

from sqlalchemy import create_engine

# 创建数据库引擎

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

# 获取数据库连接

conn = engine.connect()

3.2 执行SQL语句

from sqlalchemy import text

# 执行查询语句

sql = text("SELECT * FROM students")

result = conn.execute(sql)

# 执行插入语句

sql = text("INSERT INTO students (name, age) VALUES ('Tom', 20)")

conn.execute(sql)

# 执行更新语句

sql = text("UPDATE students SET age = 21 WHERE name = 'Tom'")

conn.execute(sql)

# 执行删除语句

sql = text("DELETE FROM students WHERE name = 'Tom'")

conn.execute(sql)

3.3 关闭数据库连接

# 关闭连接

conn.close()

4. 总结

本文介绍了两个Python库pymysql和sqlalchemy的常见用法,它们都可以用于操作MySQL数据库。使用pymysql可以直接执行SQL语句,而使用sqlalchemy可以使用更加抽象的方式进行数据库操作。无论是小型项目还是大型项目,使用这两个库都可以方便地与MySQL数据库进行交互。

在Python中,我们可以通过pymysql和sqlalchemy这两个库来连接数据库、执行SQL语句、关闭数据库连接等操作。无论是使用哪个库,我们都可以根据自身项目的需求来选择合适的库进行数据库操作。

注意:本文示例代码仅作为演示,实际开发中需根据项目具体需求进行修改。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签