在Linux下,Python可以通過多種方式與數(shù)據(jù)庫進行交互,其中常用的方式包括使用Python的數(shù)據(jù)庫模塊(如MySQLdb、psycopg2等)或者使用ORM框架(如SQLAlchemy)。
以下是一個使用Python的MySQLdb模塊連接MySQL數(shù)據(jù)庫的示例代碼:
import MySQLdb
# 連接到MySQL數(shù)據(jù)庫
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="test")
# 創(chuàng)建一個游標對象
cursor = db.cursor()
# 執(zhí)行SQL查詢
cursor.execute("SELECT * FROM table_name")
# 獲取查詢結果
results = cursor.fetchall()
for row in results:
print(row)
# 關閉游標和數(shù)據(jù)庫連接
cursor.close()
db.close()
另外,如果使用ORM框架,可以簡化與數(shù)據(jù)庫的交互過程,以下是一個使用SQLAlchemy連接MySQL數(shù)據(jù)庫的示例代碼:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 創(chuàng)建一個引擎對象
engine = create_engine('mysql://root:password@localhost/test')
# 創(chuàng)建一個基類
Base = declarative_base()
# 定義一個數(shù)據(jù)模型類
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
# 創(chuàng)建數(shù)據(jù)表
Base.metadata.create_all(engine)
# 創(chuàng)建一個會話類
Session = sessionmaker(bind=engine)
session = Session()
# 查詢數(shù)據(jù)
users = session.query(User).all()
for user in users:
print(user.name)
# 關閉會話
session.close()
無論是使用數(shù)據(jù)庫模塊還是ORM框架,Python都可以方便地與數(shù)據(jù)庫進行交互并執(zhí)行各種操作。