Uso de Tecnología de Persistencia de Datos (Python)

  • Método de conexión de base de datos tradicional: mysql (PyMySQL)
    • Modelo ORM: SQLAlchemy MyBatis, Hibernate
  • PyMySQL

  • Instalar:
pip install pymysql

Fácil de usar

Use pymysql.connect para establecer una conexión con la base de datos y ejecutar comandos SQL (la base de datos debe construirse con anticipación):

import pymysql

db = pymysql.connect(
    # mysql 地址
        host='182.92.129.158',
            # 账号和密码
                user='tmp',
                    password='ceshiren.com',
                        # 数据库
                            db='tmp',
                                charset='utf8mb4'
                                )
if __name__ == '__main__':
    with db.cursor() as cursor:
            # 查看数据库中有多少表
                    sql = "show tables;"
                            # 执行 sql 语句
                                    cursor.execute(sql)
                                            # 查看所有数据
                                                    print(cursor.fetchall())
                                                            # 查询 name = aaaaaa 的数据
                                                                    sql = "select * from test_case_table where name=%s"
                                                                            cursor.execute(sql, ["aaaaaa"])
                                                                                    print(cursor.fetchall())
(('test_case_table',),)
(('aaaaaa', '新的测试用例', 'test_hello.py', 'def test'),)

ORM

El mapeo relacional de objetos (mapeo relacional de objetos) utiliza funciones de lenguaje para operar la base de datos, como la operación de objetos de Python, el contenido de la operación se asignará a la base de datos.
SQLALchemy es un marco ORM bajo el lenguaje de programación Python. El marco se basa en la API de la base de datos y utiliza el mapeo de objetos relacionales para las operaciones de la base de datos.

Instalar

pip3 install SQLAlchemy

Una vez completada la instalación, puede crear una conexión de base de datos:

engine = create_engine("mysql+pymysql://tmp:[email protected]/tmp?charset=utf8",echo=True,)

1.echo: cuando se establece en True, la declaración ORM se convertirá en una declaración SQL para imprimir, que generalmente está disponible para la depuración.
2. Explicación del campo:
3.mysql+pymysql: modo de conexión, usando pymysql.
4.tmp:ceshiren.com: nombre de usuario:contraseña.
5.182.92.129.158/tmp: dirección de la base de datos y nombre de la base de datos.

crear base de datos

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base
engine = create_engine("mysql+pymysql://tmp:[email protected]/tmp?charset=utf8",
                      echo=True,
                                             )
                                             # 其子类将 Python 类和数据库表关联映射起来
                                             Base = declarative_base()
                                             # 继承 Base
                                             class Users(Base):
                                                 __tablename__ = "users"
   id = Column(Integer, primary_key=True)
       name = Column(String(64), unique=True)
   def __init__(self, name):
           self.name = name
if __name__ == '__main__':
   # 生成数据库表,如果有此库会忽略
       Base.metadata.create_all(engine)

declarative_base() es un método encapsulado internamente por SQLALchemy, que permite a sus subclases asociar y mapear clases de Python con tablas de bases de datos.

Agregar y verificar

SQLALchemy usa Session para crear una sesión entre el programa y la base de datos, y la adición, eliminación, modificación y consulta de datos se puede realizar a través del objeto Session.

from sqlalchemy.orm import sessionmaker
# 创建session
Session = sessionmaker(bind=engine)
session = Session()
# 添加新数据
add_user = Users("student1")
# 提交
session.add(add_user)
session.commit()
# 查询
result = session.query(Users).filter_by(name="student1").first()
print(result.id, result.name)

Después de que el código anterior agregue datos, consúltelo y los resultados son los siguientes:

1 student1

La tecnología de persistencia de datos se presenta aquí primero. Puede intentar hacer algunos ejercicios.
Hablaremos sobre el acoplamiento de API multiplataforma más adelante. Continúe prestando atención ~

Enlace original

Más artículos técnicos para compartir

Supongo que te gusta

Origin blog.csdn.net/hogwarts_2022/article/details/124296090
Recomendado
Clasificación