• Python flask怎么连接MySQL?


    在Python中连接MySQL并使用模型创建新的表,通常我们会使用ORM(对象关系映射)库,比如SQLAlchemy或者Django ORM,它们允许我们定义Python类来映射到数据库中的表,并通过这些类进行数据库操作。下面是一个使用SQLAlchemy的例子。(flask可以使用)

     

    首先,你需要安装必要的库:

     

    ```bash

    pip install sqlalchemy pymysql

    ```

     

    然后,你可以定义一个模型(通常是一个Python类),该类继承自SQLAlchemy的`Base`类,并定义表的结构:

     

    ```python

    from sqlalchemy import Column, Integer, String, create_engine

    from sqlalchemy.ext.declarative import declarative_base

    from sqlalchemy.orm import sessionmaker

     

    # 定义基类

    Base = declarative_base()

     

    # 定义模型类

    class User(Base):

        __tablename__ = 'users'

     

        id = Column(Integer, primary_key=True)

        name = Column(String)

        email = Column(String)

     

        def __repr__(self):

            return f""

     

    # 创建数据库连接

    engine = create_engine('mysql+pymysql://username:password@localhost:3306/dbname')

     

    # 创建所有表

    Base.metadata.create_all(engine)

     

    # 创建会话

    Session = sessionmaker(bind=engine)

    session = Session()

     

    # 示例:添加一个新的用户

    new_user = User(name='John Doe', email='johndoe@example.com')

    session.add(new_user)

    session.commit()

     

    # 关闭会话

    session.close()

    ```

     

    在上面的代码中:

     

    - 我们导入了必要的SQLAlchemy模块和`pymysql`,后者是一个Python的MySQL客户端。

    - 我们定义了`User`类,它映射到名为`users`的MySQL表。

    - 我们创建了数据库引擎`engine`,并指定了连接MySQL的URI(用户名、密码、主机和数据库名)。

    - 我们调用了`Base.metadata.create_all(engine)`来创建所有定义的表。

    - 我们创建了一个会话`session`,它用于与数据库进行交互。

    - 示例中,我们添加了一个新用户到数据库中,并提交事务。

    - 最后,我们关闭了会话。

     

    请确保将`username`、`password`、`localhost`、`3306`和`dbname`替换为你自己的MySQL数据库的实际凭证和设置。

     

    此外,如果你使用的是Django框架,Django ORM提供了类似的功能,并且与Django的其他组件(如视图、模板等)紧密集成。使用Django ORM时,你需要遵循Django的项目和应用结构,并在应用的`models.py`文件中定义模型。然后,Django的迁移系统可以为你创建和管理数据库表。

  • 相关阅读:
    java数据结构与算法刷题-----LeetCode304:二维区域和检索 - 矩阵不可变
    JS基础之对象(自用)
    从零使用TensorFlow搭建CNN(卷积)神经网络
    Android自定义注解实现一键校验实体类参数
    day01_Java概述丶环境搭建
    L8.linux命令每日一练 -- 第二章 文件和目录操作命令 -- rm和rmdir命令
    对前端构建工具的一些理解
    ubuntu编译安装mmcv 1.6.2和mmsegmentation 0.28.0
    java项目开发jsp编程web鸽谱信息系统myeclipse开发Mysql数据库计算机网页
    【IC刷卡数据专题】IC刷卡数据有哪些应用?
  • 原文地址:https://blog.csdn.net/m0_67038390/article/details/139300568