在Python中操作数据库,需要使用到Python的一个数据库API模块——Python DB API
。通过Python DB API模块,我们可以轻松地使用Python连接数据库、执行SQL语句等操作。
连接数据库需要用到数据库驱动,不同的数据库有不同的驱动,这里我们以MySQL为例进行说明。
安装数据库驱动
安装MySQL的Python驱动包pymysql
命令如下:
pip install pymysql
连接MySQL数据库
连接MySQL数据库需要通过pymysql
驱动包中的connect()
方法,需要传递MySQL数据库的连接信息,如下:
import pymysql
def get_conn():
# 数据库连接信息
config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': '123456',
'db': 'test_db',
'charset': 'utf8mb4'
}
conn = pymysql.connect(**config)
return conn
以上代码中,get_conn()
函数返回一个连接到MySQL数据库的连接对象conn
。
获取游标
连接好MySQL数据库后,我们需要获取游标对象来执行数据库操作。Python DB API模块提供了cursor()
方法来获取游标。
def get_cursor(conn):
cursor = conn.cursor()
return cursor
以上代码中,get_cursor(conn)
函数返回一个游标对象cursor
。
我们也可以使用with语句来获取游标对象,此时游标对象随着with语句的结束而关闭。
def get_cursor2(conn):
with conn.cursor() as cursor:
return cursor
示例
下面的示例代码展示了如何使用get_conn()
和 get_cursor()
函数来连接MySQL数据库,获取游标对象并执行SQL:
# 连接数据库
conn = get_conn()
# 获取游标对象
cursor = get_cursor(conn)
# 执行SQL
sql = "SELECT * FROM orders"
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
# 打印结果
for row in results:
print(row)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
如果使用 get_cursor2()
函数获取游标对象,则代码示例如下:
# 连接数据库
conn = get_conn()
# 获取游标对象
with get_cursor2(conn) as cursor:
# 执行SQL
sql = "SELECT * FROM orders"
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
# 打印结果
for row in results:
print(row)
# 关闭连接
conn.close()
通过以上代码示例,我们可以了解到如何连接数据库、获取游标对象、执行SQL语句,并获取结果。