zoukankan      html  css  js  c++  java
  • 利用python操作数据库MySQL

    一、python操作MySQL的库(包)

    1. Python Databas API

          Python 操作数据库的标准接口为 Python Databas API Specification V2.0,其定义了在python中操作数据库的方法。Microsoft SQL Serve、MySQL、Oracle 数据库等等都可以以Python Databas API为数据库标准API接入。各种数据库软件提供有相应的库,需要安装库之后,才能通过Python Databas API使用对应的数据库。

     2. pymysql

          mysql数据库对接Python Databas API 的库。利用pymysql库,才能通过Python Databas API最终操作到mysql数据库。

          安装方法: cmd命令“pip install pymysql”

    二、python操作MySQL流程

    1. 引入 API 模块;

    2. 创建与数据库的连接对象Connection和游标对象Cursor;

    3. 执行SQL语句,并进行异常检查和处理;

    4.关闭数据库连接对象Connection和游标对象Cursor;

    python操作MySQL流程图如下:

     三、Python Databas API相关概念解释

    1、Connection对象

          数据库连接对象,是操作数据库的对象。包含了所有的操作方法,是操作数据库程序编写中的源头。常用函数如下:

    Connect():创建连接对象

    Connection.cursor(): 创建游标 

    Connection.commit():提交当前事务 

    Connection.rollback():回滚当前事务 

    Connection.close():关闭当前连接

    2、Cursor对象

          Cursor对象为游标对象,通过Connection.cursor()来创建。Cursor对象为操作数据库的一个强有力工具。常用函数如下:

    Cursor.execute():执行数据库命令,并将执行结果缓存起来

    Cursor.fetchone():从缓存中获取结果集的下一行

    Cursor.fetchmany():获取结果集的下几行

    Cursor.fetchall():获取结果集中剩下的所有行

    Cursor.close():关闭游标

    四、测试例程

    1、 测试准备

          在MySQL数据库中创建一个数据表,并插入一定的数据记录。如图在远程MySQL服务器(192.168.0.102)上,创建了一个数据库chapter03和数据表student。

    2、执行测试用例

    import pymysql
    
    #创建Connection对象
    connect = pymysql.Connect(
        host='192.168.0.102',
        port=3306,
        user='root',
        passwd='12345678',
        db='chapter03'
    )
    #创建Cursor对象
    cursor = connect.cursor()
    
    #执行查询数据表命令
    rows_count = cursor.execute("SELECT * FROM student")
    for i in range(rows_count):
        print(cursor.fetchone())
    
    #执行数据表插入命令
    try:
        cursor.execute("INSERT INTO student(id,name,grade) VALUES (4, 'zhangqian', 30)")
        connect.commit()
    except:
        connect.rollback()
    
    #再次执行查询数据表命令
    rows_count = cursor.execute("SELECT * FROM student")
    for i in range(rows_count):
        print(cursor.fetchone())
    
    #关闭对象cursor
    cursor.close()
    #关闭对象connect
    connect.close()

    3、测试结果

    参考资料:python接口自动化(三十八)-python操作mysql数据库(详解)

  • 相关阅读:
    sql 连表
    Laravel 数据验证
    zend studio 破解、汉化和字体颜色及快捷键相关设置
    关于storm的一些知识点
    storm架构原理及集群部署
    storm使用过程中出现的错误:Caused by: java.net.UnknownHostException: storm: 未知的名称或服务
    ElasticSearch基础知识
    ElasticSearch java客户端更新时出现的错误:NoNodeAvailableException[None of the configured nodes are available
    sublime text3 注册码 (Version 3.0)
    使用HTMLTestRunner生产报告
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/13891734.html
Copyright © 2011-2022 走看看