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数据库(详解)

  • 相关阅读:
    HDU 1022 Train Problem I
    HDU 1702 ACboy needs your help again!
    HDU 1294 Rooted Trees Problem
    HDU 1027 Ignatius and the Princess II
    HDU 3398 String
    HDU 1709 The Balance
    HDU 2152 Fruit
    HDU 1398 Square Coins
    HDU 3571 N-dimensional Sphere
    HDU 2451 Simple Addition Expression
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/13891734.html
Copyright © 2011-2022 走看看