zoukankan      html  css  js  c++  java
  • python笔记-python程序中操作mysql数据库

    一、Python与数据库的交互

    在没有DB-API之前,各种数据库之间的应用接口非常混乱,实现各不相同。如果项目需要更换数据库,基本上与数据库相关的代码都要进行改动。

    1.1 DB-API介绍

    DB-API的出现就是为了解决各种数据库之间的应用接口非常混乱问题,python所有的数据接口在一定程度上都要遵循python DB-API规范,它定义了一系列的操作数据库的方式,为各种数据库提供了一致的访问接口,项目中更换数据库变得更加方便

    二、python程序操纵MySQL数据库

    在python中访问mysql数据需要一个第三方接口pymysql, 提供的一些列的操纵mysql数据库的函数

    2.1 安装

    在终端输入如下命令, 进行数据库安装

    pip install pymysql
    

    2.2 链接数据库

    import pymysql
    db_config = {
        "host": "127.0.0.1",
        "user": "username",
        "password": "password",
        "database": "database_name",
        "charset": "utf8",
        "port": 3306
    }
    connection = pymysql.connect(**db_config) # 链接数据库
    

    2.3 建立游标(connection.cursor())

    在程序中, 所有的关于数据的操纵都是通过游标来完成的

    cursor = connection.cursor()  # 建立游标
    

    2.4 执行sql语句(cursor)

    excutes = cursor.execute(sql)  # 不会返回结果,但是会返回影响数据的条数
    

    2.5 查看查询结果(cursor.fetchall(), cursor.fetchone())

    results = cursor.fetchall()  # 返回一个元组,
    result = cursor.fetchone()  # 返回查询结果的第一个
    

    2.6 事务

    pymysql会主动开启一个事务,执行与数据相关的sql语句不会主动提交

    提交事务

    connection.commit()  # 用连接生成的对象调用
    

    当发生错误时,有必要对事务进行回滚
    回滚

    connection.rollback()  # 用连接生成的对象调用
    

    2.7 关闭游标

    cursor.close()
    

    2.8 关闭连接

    connection.close()
    
  • 相关阅读:
    ThinkPhp3.2.3缓存漏洞复现以及修复建议
    thinkphp3.2.3 缓存导致getshell终极解决办法
    phpstudy后门漏洞复现php5.2
    phpStudy后门漏洞利用复现
    SQL语句利用日志写shell拿权限
    针对phpstudy默认设置的利用
    黑暗世界的搜索引擎
    CVE-2019-0708—微软RDP远程桌面代码执行漏洞复现
    记一次渗透某XX站
    通过USB 2.0电缆手动设置内核模式调试
  • 原文地址:https://www.cnblogs.com/duyupeng/p/13188819.html
Copyright © 2011-2022 走看看