Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan SQLAlchemy untuk operasi pangkalan data
Cara menggunakan SQLAlchemy untuk operasi pangkalan data
SQLAlchemy ialah perpustakaan Python popular yang digunakan untuk memudahkan interaksi dan operasi dengan pangkalan data hubungan. Ia menyediakan pendekatan pemetaan hubungan objek (ORM) yang membolehkan pembangun menggunakan kod Python untuk mengendalikan pangkalan data tanpa menulis pernyataan SQL asal. Artikel ini akan memperkenalkan cara menggunakan SQLAlchemy untuk operasi pangkalan data, dan melampirkan contoh kod untuk membantu pembaca bermula dengan cepat.
Mula-mula, anda perlu memasang perpustakaan SQLAlchemy. Jalankan arahan berikut dalam baris arahan untuk melengkapkan pemasangan:
pip install sqlalchemy
Sebelum anda bermula, anda perlu menyambung ke pangkalan data sasaran. SQLAlchemy menyokong pelbagai pangkalan data, termasuk MySQL, PostgreSQL, SQLite dan Oracle. Contoh kod berikut disambungkan ke pangkalan data SQLite:
from sqlalchemy import create_engine # 创建数据库引擎 engine = create_engine('sqlite:///example.db')
Kod di atas mencipta enjin pangkalan data SQLite dan menentukan laluan ke fail pangkalan data. Jika anda perlu menyambung ke jenis pangkalan data lain, cuma gantikan "sqlite" dalam rentetan sambungan dengan jenis pangkalan data yang sepadan.
Konsep teras operasi ORM menggunakan SQLAlchemy ialah model data. Model data diwakili oleh kelas Python, setiap kelas sepadan dengan jadual dalam pangkalan data. Contoh kod berikut mentakrifkan model data bernama "Pengguna":
from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declarative_base # 创建基类 Base = declarative_base() # 定义数据模型 class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) email = Column(String)
Kod di atas mentakrifkan model data bernama "Pengguna" dan nama jadual ialah "pengguna". Setiap atribut dalam model data sepadan dengan lajur dalam jadual, dengan "id" ialah lajur kunci utama.
Sebelum menggunakan model data, anda perlu mencipta jadual yang sepadan terlebih dahulu. Contoh kod berikut mencipta jadual bernama "pengguna":
Base.metadata.create_all(engine)
Kod di atas menggunakan takrifan dalam model data untuk mencipta struktur jadual yang sepadan secara automatik.
Setelah struktur jadual dibuat, anda boleh memulakan operasi pangkalan data. Contoh kod berikut memasukkan rekod pengguna baharu:
from sqlalchemy.orm import sessionmaker # 创建会话工厂 Session = sessionmaker(bind=engine) session = Session() # 创建新用户 new_user = User(name='John Doe', email='johndoe@example.com') # 添加到会话 session.add(new_user) # 提交事务 session.commit()
Kod di atas menggunakan objek sesi untuk operasi pangkalan data. Mula-mula kilang sesi dicipta dan terikat kepada enjin pangkalan data. Kemudian buat objek sesi melalui kilang sesi. Kemudian objek pengguna baharu dibuat dan ditambah pada sesi menggunakan kaedah session.add()
. Akhir sekali, gunakan session.commit()
untuk melakukan transaksi dan menyimpan data ke pangkalan data. session.add()
方法将其添加到会话中。最后使用session.commit()
提交事务,将数据保存到数据库中。
使用SQLAlchemy进行查询操作时,可以使用查询表达式或者SQL语句。以下代码示例查询所有用户记录:
# 查询所有用户 users = session.query(User).all() # 打印查询结果 for user in users: print(user.name, user.email)
上述代码使用session.query(User)
创建了一个查询对象,然后调用.all()
方法执行查询操作,返回所有的用户记录。可以通过遍历查询结果,获取每条记录的属性值。
更新数据可以使用几种不同的方式。以下代码示例更新指定用户的电子邮件地址:
# 查询指定用户 user = session.query(User).filter_by(name='John Doe').first() # 更新电子邮件地址 user.email = 'newemail@example.com' # 提交事务 session.commit()
上述代码使用session.query(User).filter_by(name='John Doe').first()
查询到指定用户记录,并通过修改其属性值来更新数据。
删除数据也可以使用几种不同的方式。以下代码示例删除指定用户:
# 查询指定用户 user = session.query(User).filter_by(name='John Doe').first() # 删除用户 session.delete(user) # 提交事务 session.commit()
上述代码使用session.delete(user)
session.query(User)
untuk mencipta objek pertanyaan, dan kemudian memanggil .all()
kaedah untuk melaksanakan operasi pertanyaan, mengembalikan semua rekod pengguna. Anda boleh mendapatkan nilai atribut setiap rekod dengan merentasi hasil pertanyaan. 🎜session.query(User).filter_by(name='John Doe').first()
untuk menanyakan rekod pengguna yang ditentukan, Dan kemas kini data dengan mengubah suai nilai hartanya. 🎜session.delete(user)
untuk memadam rekod pengguna yang ditentukan. 🎜🎜Di atas memperkenalkan langkah asas cara menggunakan SQLAlchemy untuk operasi pangkalan data, dan memberikan contoh kod yang sepadan. SQLAlchemy sangat kaya dengan fungsi, termasuk pengurusan transaksi, pertanyaan lanjutan dan fungsi lain Pembaca boleh mengkaji dan menerokainya. Saya harap artikel ini dapat membantu pembaca memulakan dengan cepat dengan SQLAlchemy dan meningkatkan kecekapan dan kemudahan operasi pangkalan data. 🎜Atas ialah kandungan terperinci Cara menggunakan SQLAlchemy untuk operasi pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!