Rumah > pembangunan bahagian belakang > Tutorial Python > Gunakan Python SQLAlchemy dengan mahir untuk menakluki dunia pangkalan data hubungan dengan mudah

Gunakan Python SQLAlchemy dengan mahir untuk menakluki dunia pangkalan data hubungan dengan mudah

王林
Lepaskan: 2024-02-25 08:01:02
ke hadapan
453 orang telah melayarinya

. Ini membolehkan pembangun membuat, bertanya dan mengemas kini data dengan mudah dalam

pangkalan data巧用 Python SQLAlchemy,轻松征服关系数据库世界 tanpa perlu menulis kod SQL yang kompleks.

Pasang SQLAlchemy Untuk menggunakan SQLAlchemy, anda perlu memasangnya terlebih dahulu. Anda boleh menggunakan arahan pip untuk memasang:

from sqlalchemy import Column, Integer, String

class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True)
email = Column(String(120), unique=True)
Salin selepas log masuk
Dalam kelas ini, ialah lajur jenis String dan unik. Buat enjin pangkalan data Untuk memetakan model ORM ke pangkalan data, anda perlu mencipta enjin pangkalan data. Enjin pangkalan data adalah objek yang bertanggungjawab untuk berinteraksi dengan pangkalan data. Sebagai contoh, untuk mencipta enjin pangkalan data yang bersambung ke pangkalan data SQLite, anda boleh menulis kod berikut:
from sqlalchemy import create_engine

engine = create_engine("sqlite:///database.sqlite")
Salin selepas log masuk

Dalam kod ini,

ialah rentetan sambungan ke pangkalan data.

Buat sesi

Untuk mengendalikan data dalam pangkalan data, anda perlu membuat sesi. Sesi ialah objek yang mewakili interaksi dengan pangkalan data. __tablename__ 属性指定了数据库中表的名称。idnameemail 属性分别是数据库中的列。id 是主键,并且是自动递增的。nameemail Sebagai contoh, untuk membuat sesi, anda boleh menulis kod berikut:

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)
session = Session()
Salin selepas log masuk

Dalam kod ini,

dan kaedah lain digunakan untuk memanipulasi data dalam pangkalan data.

Tambah data

Untuk menambah data pada pangkalan data, anda boleh menggunakan

Untuk menambah sekeping data pada jadual, anda boleh menulis kod berikut:

user = User(name="John Doe", email="johndoe@example.com")
session.add(user)
Salin selepas log masuk
"sqlite:///database.sqlite"Dalam kod ini,

objek ditambahkan pada sesi.

Serahkan data

Untuk menghantar data ke pangkalan data, anda boleh menggunakan kaedah

. Sebagai contoh, untuk menghantar data, anda boleh menulis kod berikut:

session.commit()
Salin selepas log masuk

Dalam kod ini, Session 是一个会话类,它与 engine 绑定。session 是一个会话对象,它可以使用 add()delete()commit() menyerahkan data dari sesi ke pangkalan data.

Data pertanyaan

Untuk menanyakan data dalam pangkalan data, anda boleh menggunakan objek add() 方法。例如,要向 users dan tulis kod berikut:

users = session.query(User).all()
Salin selepas log masuk

Dalam kod ini, user 是一个 User 对象,它包含了要添加的数据。session.add(user)user dalam pembolehubah.

Kemas kini data

Untuk mengemas kini data dalam pangkalan data, anda boleh menggunakan alamat e-mel commit() dan anda boleh menulis kod berikut:

session.query(User).filter_by(name="John Doe").update({User.email: "johndoe@example.com"})
Salin selepas log masuk

Dalam kod ini, session.commit().

Padam data

Untuk memadam data dalam pangkalan data, pengguna yang menggunakan query() 方法。例如,要查询所有 User boleh menulis kod berikut:

session.query(User).filter_by(name="John Doe").delete()
Salin selepas log masuk

Dalam kod ini, session.query(User).all() 查询所有 User 对象,并将它们存储在 users pengguna dan padamkannya.

Ringkasan

update() 方法。例如,要更新 John Doe

SQLAlchemy ialah perpustakaan alat ORM yang berkuasa yang membantu pembangun mengendalikan pangkalan data hubungan dengan mudah. Menggunakan SQLAlchemy, pembangun boleh membuat, bertanya dan mengemas kini data dengan cepat dalam pangkalan data tanpa menulis kod SQL yang kompleks.

Atas ialah kandungan terperinci Gunakan Python SQLAlchemy dengan mahir untuk menakluki dunia pangkalan data hubungan dengan mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan