データ永続化テクノロジー(Python)の使用

  • 従来のデータベース接続方法:mysql(PyMySQL)
    • ORMモデル:SQLAlchemy MyBatis、Hibernate
  • PyMySQL

  • インストール:
pip install pymysql

使いやすい

pymysql.connectを使用してデータベース接続を確立し、SQLコマンドを実行します(データベースは事前に構築する必要があります)。

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

オブジェクトリレーショナルマッピング(オブジェクトリレーショナルマッピング)は、Pythonオブジェクトの操作など、言語機能を使用してデータベースを操作します。操作の内容はデータベースにマップされます。
SQLALchemyは、Pythonプログラミング言語のORMフレームワークです。このフレームワークは、データベースAPIに基づいて構築されており、データベース操作にリレーショナルオブジェクトマッピングを使用します。

インストール

pip3 install SQLAlchemy

インストールが完了したら、データベース接続を作成できます。

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

1.echo:Trueに設定すると、ORMステートメントは印刷用のSQLステートメントに変換されます。これは、通常、デバッグに使用できます。
2.フィールドの説明:
3.mysql + pymysql:接続モード。pymysqlを使用します。
4.tmp:ceshiren.com:ユーザー名:パスワード。
5.182.92.129.158/tmp:データベースアドレスとデータベース名。

データベースを作成する

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()は、SQLALchemyによって内部的にカプセル化されたメソッドであり、そのサブクラスがPythonクラスをデータベーステーブルに関連付けてマップできるようにします。

追加して確認する

SQLALchemyはSessionを使用して、プログラムとデータベースの間にセッションを作成します。データの追加、削除、変更、およびクエリは、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)

上記のコードがデータを追加した後、それをクエリすると、結果は次のようになります。

1 student1

ここでは、データ永続化テクノロジーを最初に紹介します。いくつかの演習を試すことができます。
クロスプラットフォームAPIドッキングについては後で説明します。引き続き注意してください〜

元のリンク

共有するその他の技術記事

おすすめ

転載: blog.csdn.net/hogwarts_2022/article/details/124296090