Python连接数据库两种常用方法介绍(Python数据库连接:两种高效方法详解)

原创
ithorizon 6个月前 (10-21) 阅读数 26 #后端开发

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和第三方库SQLAlchemysqlite3适用于明了的SQLite数据库操作,而SQLAlchemy提供了更充足的功能,赞成多种数据库系统,适合繁复的应用场景。利用项目需求和数据库选择,开发者可以选择最合适的方法来进行数据库连接。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门