【Python】基于ORM的SqlAlchemy操纵数据库代码实现

说明

ORM,全称Object-Relational Mapping,即对象-关系映射,是一种程序设计技术,用于在面向对象编程语言和关系数据库之间建立对应关系。它的主要目的是让开发者能够使用面向对象的方式操作数据库,而不必过多地关注数据库底层的细节。

通过ORM,开发者可以将数据库中的表映射成面向对象的类,表中的行则映射成对象的实例。这样做的好处是,在编写应用程序时,开发者可以直接使用面向对象的语法来进行数据库操作,比如创建、更新、删除和查询数据,而无需编写复杂的SQL语句。ORM框架会负责将面向对象操作翻译成对应的数据库操作,从而简化了开发流程。

常见的ORM框架包括Hibernate(Java)、Entity Framework(.NET)、Django ORM(Python)、Sequelize(Node.js)等,它们提供了丰富的功能和工具,使得开发者能够更高效地与数据库进行交互,并且能够在一定程度上实现数据库的抽象,从而提高了应用程序的可维护性和可移植性。

接下来我们用SqlAlchemy实现对数据库的增删改查。

代码实现:

from sqlalchemy import create_engine
from sqlalchemy import Column,String,Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import pymysql

# 初始化数据库连接
engine=create_engine('mysql+pymysql://root:root@localhost:3306/flask_1?charset=utf8')
Base=declarative_base() # 生成SQLORM基类(创建对象的基类)

class User(Base):
    # 表名
    __tablename__='user'
    # 表结构
    id=Column(Integer,primary_key=True)
    user_id=Column(String(50),nullable=False)
    username=Column(String(50),nullable=False)
    head_img=Column(String(200))
    short_description=Column(String(300))

# 生成链接数据库的实例
session=sessionmaker(bind=engine)()

# #增操作,增加1条记录
# item=User(id=3,user_id='3',username='hacker',head_img='3.png',short_description='增加一个数据')
# session.add(item)
# session.commit()
# session.close()

# #查操作
# users=session.query(User).filter(User.id<4).all()
# for i in range(len(users)):
#     print(users[i].username)
# session.close()

# #改操作,将id为3的记录的username改为'Geek'
# session.query(User).filter(User.id==3).update({User.username:'Geek'})
# session.commit()
# session.close()

#删操作,将id为3的记录删除
session.query(User).filter(User.id==3).delete()
session.commit()
session.close()

效果展示:

代码执行前

 代码执行后

代码执行后

代码执行前

代码执行后

代码执行前

代码执行后

猜你喜欢

转载自blog.csdn.net/uuzeray/article/details/135138359