【测试平台开发】——02数据持久化技术

一、传统数据库连接——pymysql纯SQL

首先用pip安装pymysql

pip install pymysql

安装完之后创建db对象,连接数据库

复制代码
import pymysql


# 创建db对象
db = pymysql.connect(
    host='127.0.0.1',
    user='root',
    password='1234567',
    db='ET',
    charset='utf8mb4',
    cursorclass=pymysql.cursors.DictCursor  # 词典
)
复制代码

操作数据库

def test_conn():
    # 获取游标
    with db.cursor() as cursor:
        sql = "show tables;"
        # 执行sql
        cursor.execute(sql)
        print(sql)
        print(cursor.fetchall())

查询数据库

def test_search():
    # 查询表
    with db.cursor() as c:
        sql = "SELECT * FROM runoob_tbl where runoob_author1=%s"
        c.execute(sql, ["菜鸟教程1"])
        print(c.fetchone())

二、ORM模型——SQLAlchemy

1、定义表结构

    # 表名
    __tablename__ = 'runoob_tb2'
    # 定义字段类型
    runoob_id = Column(Integer, primary_key=True)
    runoob_title2 = Column(String)
    runoob_author2 = Column(String)
    age = Column(Integer)
    submission_date2 = Column(Date)

2、连接数据库并用session绑定连接

复制代码
host='127.0.0.1'
user='root'
password='1234567'
db='ET'
charset='utf8mb4'


    # create_engine连接各种数据库
    engine = create_engine(
        'mysql+pymysql://{user}:{password}@{host}/{db}'.format(
            user=user,
            password=password,
            host=host,
            db=db
        ),echo=True # 打印相关内容
    )
    # sessionmaker绑定连接
    Session = sessionmaker(bind=engine)
    session = Session()
复制代码

3、添加数据

复制代码
    # 数据插入
    u1 = User(
        runoob_id="5",
        runoob_title2="学习 PHP5",
        runoob_author2="菜鸟教程5",
        age="50",
        submission_date2="2021-07-27"
    )
    # 添加数据
    session.add(u1)
    # 提交数据
    session.commit()
复制代码

数据库查看插入的数据:

4、查询数据

u2 = session.query(User).filter_by(runoob_author2="菜鸟教程5").first()
print(u2.runoob_title2)

5、完整代码

复制代码
from sqlalchemy import Column, Integer, String, Date, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

host='127.0.0.1'
user='root'
password='1234567'
db='ET'
charset='utf8mb4'

Base = declarative_base()

class User(Base):

    # 表名
    __tablename__ = 'runoob_tb2'
    runoob_id = Column(Integer, primary_key=True)
    runoob_title2 = Column(String)
    runoob_author2 = Column(String)
    age = Column(Integer)
    submission_date2 = Column(Date)


def test_orm():
    # create_engine连接各种数据库
    engine = create_engine(
        'mysql+pymysql://{user}:{password}@{host}/{db}'.format(
            user=user,
            password=password,
            host=host,
            db=db
        ),echo=True # 打印相关内容
    )
    # sessionmaker绑定连接
    Session = sessionmaker(bind=engine)
    session = Session()

    # 数据插入
    u1 = User(
        runoob_id="5",
        runoob_title2="学习 PHP5",
        runoob_author2="菜鸟教程5",
        age="50",
        submission_date2="2021-07-27"
    )
    # session.add(u1)
    # session.commit()

    u2 = session.query(User).filter_by(runoob_author2="菜鸟教程5").first()
    print("+++++++++++++++++++++++++++++++++++")
    print("查询结果为:"+u2.runoob_title2)

if __name__ == '__main__':
    test_orm()
复制代码

三、自动化平台系列文章汇总

【测试平台开发】——开篇章节

posted @   Owen_ET  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2018-07-27 【Selenium + Python】之OSError: [WinError 6] 句柄无效。
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 模様 (TV size ver.) Ivy to Fraudulent Game
  3. 3 河口恭吾
  4. 4 愛してる 高鈴
  5. 5 一生所爱 卢冠廷,莫文蔚
  6. 6 世间美好与你环环相扣 柏松
  7. 7 理想三旬 陈鸿宇
  8. 8 不浪漫罪名 王杰
  9. 9 樱花树下 张敬轩
  10. 10 因为你在 达闻西乐队,福禄寿FloruitShow
  11. 11 悬溺 葛东琪
樱花树下 - 张敬轩
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 林若宁

作曲 : 伍卓贤

树荫有一只蝉 跌落你身边

惊慌到失足向前

然后扑入我一双肩

令你腼腆一脸 像樱花万千

怀念美好高中两年

期望你的青春不变

去到今天

还记得樱花正开

还未懂跟你示爱

初春来时彼此约定过 继续期待

人置身这大时代

投入几番竞技赛

曾分开曾相爱

等待花蕊又跌下来

才洞悉这是恋爱

未有过的爱情 但有种温馨

未有过的爱情 但有种温馨

归家那单车小径

沿路细听你的歌声

没法再三倾听 你的感动昵称

维系错的一番友情

无奈已经不可纠正

太过坚贞

还记得樱花正开

还未懂跟你示爱

初春来时彼此闭着眼 渴望未来

人置身这大时代

投入几番竞技赛

曾分开曾相爱

等待跟你未爱的爱

你说悲不悲哀

秒速之间变改 小小世界

眷恋也许走不过 拆卸的街

少女亦随年渐长 走得多么快

如有天樱花再开

如有天樱花再开

期望可跟你示爱

当天园林 今天已换上满地青苔

如有天置地门外

乘电车跨过大海

匆匆跟你相望一眼 没理睬

明日花 昨日已开

点击右上角即可分享
微信分享提示