Python连接数据库两种常用方法介绍(Python数据库连接:两种高效方法详解)
原创
一、引言
在Python开发中,数据库连接是一项基础且重要的技能。本文将详细介绍两种常用的Python数据库连接方法:使用标准库sqlite3
和第三方库SQLAlchemy
。这两种方法各有特点,适用于不同的场景。
二、使用sqlite3连接SQLite数据库
SQLite是一个轻量级的数据库,它不需要服务器即可运行。Python的标准库中提供了sqlite3
模块,可以直接使用它来连接SQLite数据库。
2.1 连接数据库
首先,我们需要导入sqlite3
模块,并使用它来连接数据库文件。如果数据库文件不存在,sqlite3
会自动创建它。
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
2.2 创建表
连接到数据库后,我们可以创建一个表来存储数据。
# 创建一个游标对象
cursor = conn.cursor()
# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
2.3 插入数据
接下来,我们可以向表中插入数据。
# 插入数据
cursor.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
# 提交事务
conn.commit()
2.4 查询数据
我们可以执行查询语句来检索数据。
# 查询数据
cursor.execute('SELECT * FROM stocks')
# 获取所有于是
rows = cursor.fetchall()
for row in rows:
print(row)
2.5 关闭连接
完成所有操作后,我们应该关闭游标和连接,以释放资源。
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
三、使用SQLAlchemy连接多种数据库
SQLAlchemy是一个有力的SQL工具包和对象关系映射(ORM)系统,它赞成多种数据库系统,如SQLite、MySQL、PostgreSQL等。
3.1 安装SQLAlchemy
首先,我们需要安装SQLAlchemy库。由于不使用pip,这里假设SQLAlchemy已经安装好。
3.2 创建引擎
使用SQLAlchemy连接数据库的第一步是创建一个数据库引擎。
from sqlalchemy import create_engine
# 创建SQLite引擎
engine = create_engine('sqlite:///example.db')
3.3 创建表
与sqlite3不同,SQLAlchemy使用元数据和表对象来定义表结构。
from sqlalchemy import Column, Integer, String, Float
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class Stock(Base):
__tablename__ = 'stocks'
id = Column(Integer, primary_key=True)
date = Column(String)
trans = Column(String)
symbol = Column(String)
qty = Column(Float)
price = Column(Float)
# 创建表
Base.metadata.create_all(engine)
3.4 插入数据
使用SQLAlchemy的Session来插入数据。
Session = sessionmaker(bind=engine)
session = Session()
# 插入数据
new_stock = Stock(date='2006-01-05', trans='BUY', symbol='RHAT', qty=100, price=35.14)
session.add(new_stock)
session.commit()
3.5 查询数据
同样使用Session来查询数据。
# 查询数据
query = session.query(Stock).filter(Stock.symbol == 'RHAT')
for stock in query:
print(f"{stock.date}, {stock.trans}, {stock.symbol}, {stock.qty}, {stock.price}")
3.6 关闭Session
操作完成后,关闭Session。
# 关闭Session
session.close()
四、总结
本文介绍了两种Python数据库连接方法:使用标准库sqlite3
和第三方库SQLAlchemy
。sqlite3
适用于明了的SQLite数据库操作,而SQLAlchemy
提供了更充足的功能,赞成多种数据库系统,适合繁复的应用场景。利用项目需求和数据库选择,开发者可以选择最合适的方法来进行数据库连接。