python操作数据库mysql(2)

本文继续探讨Python操作MySQL数据库,重点介绍如何利用sqlalchemy库进行数据库连接、创建数据表、增删查改等操作。

上一篇博文https://blog.youkuaiyun.com/reset2021/article/details/129677253?spm=1001.2014.3001.5502主要是用sql语句来实现对mysql数据库的操作。

这一篇文章主要借助sqlalchemy工具来实现对mysql进行操作。

1、sqlalchemy安装

直接用如下命令进行pip安装

pip install sqlalchemy

2、新建info类

class Info(Base):
    # 表名
    __tablename__ = 'info'
 
    # 定义字段
    id = Column(Integer, primary_key=True)
    message = Column(String(255))
    length = Column(Integer)
 
    def __repr__(self):

        return "<Info(id:{},message:{},length:{})".format(self.id, self.message, self.length)

1) 连接数据库

    def mysql_connect(self,user,password,database):

       
        sqlalchemy_info = "mysql+pymysql://'%s':'%s'@localhost:3306/'%s'"
        self.engine = create_engine(sqlalchemy_info %(user,password,database),
                                encoding="utf-8",
                                echo=True)

2)创建数据表

    def create_table(self):

        # checkfirst:判断表是否存在,如果存在,就不重复创建
        Base.metadata.create_all(engine, checkfirst=True)
 

        self.session = sessionmaker(bind=engine)()

3)新增数据项

    def add_item(self):

        # 实例化一个对象
        people = Info(message ='test', length=4)
        self.session.add(info)
 
        # 提交数据才会生效
        self.session.comit()

4) 查询所有数据

    def query(self):

        # 查询所有记录
        # result = self.session.query(Info).all()
 

        result = self.session.query(Info.message, Info.length).all()
        print(result)

5)更新数据

    def update(self, id):

        # 获取数据
        temp_info = self.session.query(Info).filter_by(id=id).first()
 
        # 修改数据
        temp_info.message= "change"
        temp_info.age = 6
        # 提交修改
        self.session.commit()

6) 删除数据

    def del_by_id(self, id):
 
        del_count = self.session.query(Info).filter(Info.id == id).delete()

        self.session.commit()

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

reset2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值