Python语言数据库操作(二)-10天学会Python

喜欢花科技君 2025-03-06 06:43:11

ORM(Object-Relational Mapping,对象关系映射)是一种将数据库表映射为Python对象的技术(将数据库表映射为类,将表中的行映射为对象,将列映射为对象的属性),这样我们可以直接通过操作对象来间接操作数据库,即增加了安全性(自动处理SQL注入等)也提高了开发效率(减少了编写SQL语句)。Python常用的ORM库是 SQLAlchemy 和 Django ORM。

SQLAlchemy

SQLAlchemy 是一个功能强大的ORM库,支持多种数据库(如SQLite、MySQL、PostgreSQL等)。

安装:pip install sqlalchemy

基本使用

from sqlalchemy import create_engine, Column, Integer, Stringfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmaker# 定义模型Base = declarative_base()class Book(Base): __tablename__ = 'books' id = Column(Integer, primary_key=True) title = Column(String(100)) author = Column(String(50))# 连接数据库engine = create_engine('sqlite:///books.db', echo=True)Base.metadata.create_all(engine)# 插入数据Session = sessionmaker(bind=engine)session = Session()book1 = Book(title="Python编程", author="John")book2 = Book(title="机器学习", author="Alice")session.add_all([book1, book2])session.commit()# 查询数据books = session.query(Book).all()for book in books: print(book.title, book.author)Django ORM

Django ORM 是 Django 框架自带的ORM工具,适合开发Web应用。

安装:pip install django

基本使用

# models.pyfrom django.db import modelsclass Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) def __str__(self): return self.title# 在Django Shell中操作from myapp.models import Bookbook1 = Book(title="Python编程", author="John")book1.save()book2 = Book(title="机器学习", author="Alice")book2.save()books = Book.objects.all()for book in books: print(book.title, book.author)

Python语言数据库

0 阅读:5

喜欢花科技君

简介:感谢大家的关注