首页 > 数据库 >利用python操作数据库MySQL

利用python操作数据库MySQL

时间:2023-03-01 12:13:23浏览次数:47  
标签:cursor python 数据库 Cursor Connection API 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、测试结果

 

标签:cursor,python,数据库,Cursor,Connection,API,MySQL
From: https://www.cnblogs.com/kn-zheng/p/17167707.html

相关文章

  • 利用python将MySQL数据导出到excel中
    涉及到的相关库:   pymysql、   xlwt库函数(将MySQL一个数据表导出到excel文件的一个表)文件exportexcel.py内容:defexport_to_excel(worksheet,cursor......
  • Python - Numpy 学习笔记
     #python-Numpylearningimportnumpyasnp#---Numpy学习笔记---(第四章)---#切片,浅拷贝a=np.arange(10)print(a)b=a[2:7]print(b)a[5]=1000print(a)p......
  • sql ytd 附python 实现方式
    ytd释义YTD分析属于同比分析类,其特点在于对比汇总值,即从年初第一日值一直至今的值累加。作用在于分析企业中长期的经营绩效。做法假定:有一张销量明细表date仓库s......
  • Python批量读取HDF多波段栅格数据并绘制像元直方图
      本文介绍基于Python语言gdal模块,实现多波段HDF栅格图像文件的读取、处理与像元值可视化(直方图绘制)等操作。  另外,基于gdal等模块读取.tif格式栅格图层文件的方法可......
  • mysql中使用 when then 格式化查询结果
    mysql>select*fromuser;+----+------+------+|id|name|sex|+----+------+------+|1|张三|1||2|李四|1||3|张珊|0|+----......
  • Mysql获取时间戳的一些处理
    前情提要:老板需要一个统计今日新增用户的功能我的想法是统计24小时内新增用户的功能直接去问AI我明确指出了时间戳但是AI给出的答案却差了口气这就是老板给我工资......
  • Python-tomorrow应用于UI自动化的简单使用
    一、简介tomorrow属于第三方的一个模块,使用threads方法作为装饰器去修饰一个普通的函数,使其可以达到并发效果。使用起来非常简单。 二、安装pipinstalltomorrow......
  • PG数据库运维工具要覆盖哪些能力
    导读目前的国产数据库中,很多产品都是以PG社区版代码作为研发起点的,还有一些产品是基于openGauss开源项目的。这些数据库的基础特性都和社区版的PG数据库类似,不过也做了......
  • 花10几元买ESP32-C3,体验一下MicroPython (和CircuitPython)
    ESP32是近年很火的国产低成本MCU系列。买了芯片ESP32-C3的模组安信可ESP-C3-32S的开发板安信可NodeMCUESP-C3-32S-Kit。开发板很小,没有任何多余的东西,还不如叫它「最......
  • python切换pip源
    PSE:\docker>pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simpleWritingtoC:\Users\lenovo\AppData\Roaming\pip\pip.iniPSE:\docker>pip......