文章目录

  • 一、API的理解
  • 二、Python对MySQL的API

本篇文章主要是关于Python对MySQL的接口API的内容,简单来说就是在Python中调用MySQL语句来执行

一、API的理解

1、API的全称是:应用程序编程接口

是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百科

2、简单的小故事理解API:
研发人员A开发了软件A,研发人员B正在研发软件B。

有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?

研发人员A想了一个好主意:
我把软件A里你需要的功能打包好,写成一个函数;你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!
(故事来自:https://www.zhihu.com/question/38594466/answer/487039892)

二、Python对MySQL的API

1、安装pymysql库

pip install pymysql

pymysql其实就是一个python与MySQL的一个接口,就是在python里面去操纵MySQL的一种方式

2、导入pymysql库并连接上本机的MySQL账户

import pymysql  # 导入库# 连接上MySQL
conn = pymysql.connect(host='192.168.43.247', port=3306, user='root', passwd='sqlpwd', db='db_test')

3、创建一个普通游标
创建游标(类似光标),并绑定上关联了MySQL的conn
游标:cursor

cursor = conn.cursor()

4、执行MySQL的操作语句
操作:execute

# 写MySQL的操作语句
sql = "CREATE TABLE EMPLOYEE (id INT, name VARCHAR(20))"# 将MySQL的操作语句放进execute执行
# 操作游标,一切关于MySQL的操作都可以放在这里来执行
cursor.execute(sql)

5、插入数据
以上是创建了一个EMPLOYEE数据表,现在插入数据
仍然是用:execute

cursor.execute("INSERT INTO EMPLOYEE values (1,'ViewIn'),(2,'ZaHuw'),(3,'Lily')")

注意:
插入数据必须要提交一下才行,相当于创建一个对象操作完了需要关闭一下

conn.commit()
cursor.close()
conn.close()

因此,这段代码应该放在结尾

6、查询数据

  • 一条结果:fetchone
  • 两条结果:fetchmany(2)
  • 所有结果:fetchall
# 如果操作后有结果,需要用一个变量来接收一下
ret= cursor.execute("select * from employee")# 取出所有结果
print(cursor.fetchall())

这样就能取出所有结果了

7、scroll光标
1)光标的relative模式:
数字1表示设置光标向下移动一步,-2表示向上移动两步;0表示不移动
本来fetchone一下光标在id=2的位置,scroll一下就到id=3的位置了

print(cursor.fetchone())
cursor.scroll(1,mode="relative")
# 光标的relative模式
# 1表示设置光标向下移动一步,-2表示向上移动两步;0表示不移动
# 本来fetchone一下光标在id=2的位置,scroll一下就到id=3的位置了
print(cursor.fetchone())
print("------------------------------------")


2)光标的absolute模式:
直接将光标跳到某个位置(按照索引来的,2表示id=3)

cursor.scroll(2,mode="absolute")
print(cursor.fetchone())

8、创建字典形式的游标
字典形式的光标获取的结果就是字典类型

cursor= conn.cursor(cursor=pymysql.cursors.DictCursor)

MySQL数据库进阶(API的理解、Python对MySQL的接口)相关推荐

  1. python读取mysql数据库行数_使用python读取mysql数据库并进行数据的操作

    (一)环境的配置 使用python调用mysql数据库要引进一些库. 目前我使用的python版本是python3.6.引进库为pymysql 其他对应的库可以有以下选择: mysqldb,oursq ...

  2. MySQL数据库进阶

    文章目录 MySQL数据库进阶 1. 数据表约束 1.1 主键索引约束 1.1.1 自增长 1.1.2 添加主键 1.1.3 删除主键 1.2 唯一索引约束 1.3 检查索引 1.4 外键索引(不推荐 ...

  3. MySQL数据库进阶版

    文章目录 MySQL数据库进阶版 一.数据库的约束 1.NULL约束 2.唯一约束 unique 3.默认值约束 default 4.主键约束 primary key 5.外键约束 foreign k ...

  4. hadoop大数据开发技术学习笔记第三天:(前序)MySQL数据库进阶

    hadoop大数据开发技术学习笔记第三天:(前序)MySQL数据库进阶 一.回顾知识 1.myschool数据库和数据表的创建 (1)创建数据库 (2)数据库模型图 (3)创建数据表grand (4) ...

  5. Linux下自动备份MySQL数据库及Can‘t connect to local MySQL server through socket和you need (at least one of) 解决e

    Linux下自动备份MySQL数据库及Can't connect to local MySQL server through socket和Access denied; you need (at le ...

  6. MariaDB/Mysql数据库进阶知识

    这一篇章主要说一下关于MariaDB/Mysql的一些进阶知识,希望可以加深自己的理解 MariaDB的特性 插件式存储引擎:也称为"表类型",存储管理器有多种实现版本,功能和特性 ...

  7. Python连接MySQL数据库(pymysql),DataFrame写入 MySQL(create_engine)- Python代码

    模块安装 使用以下命令安装 PyMySQL: $ pip install PyMySQL 若系统不支持 pip,还可以这样安装: $ git clone https://github.com/PyMy ...

  8. python 数据库 实战_干货!python与MySQL数据库的交互实战

    鼠年大吉 HAPPY 2020'S NEW YEAR 1 安装pymysql库 如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个 库的安装很简单,直接使用pip i ...

  9. python亿级mysql数据库导出_Python之csv文件从MySQL数据库导入导出的方法

    Python之csv文件从MySQL数据库导入导出的方法 发布时间:2020-10-26 07:39:02 来源:脚本之家 阅读:53 作者:张行之 Python从MySQL数据库中导出csv文件处理 ...

最新文章

  1. 2022年全球及中国工业用真空电缆行业十四五产能需求与投资战略研究报告
  2. YII 增加登陆认证
  3. Angular自学笔记(?)ContentChild和ContentChildren
  4. 田野中科院计算机网络信息中心,中国科学院计算机网络信息中心硕士生导师田野...
  5. 微信开发工具button跳转页面_小程序的button跳转
  6. html自适应布局_三分钟学会响应式布局和自适应布局
  7. ios入门之消息推送详解
  8. JavaWeb:tomcat知识以及遇到的一些小问题
  9. easyMule-VeryCD-src---VS2010调试笔记
  10. pdf如何去除保护限制,pdf复制打印限制怎么解除?
  11. CSS复合选择器:后代选择器
  12. 家庭装修是找设计师和施工队好,还是找装修公司好呀
  13. 来点硬件知识,给笔记本加固态硬盘
  14. astar不能用了_截图快捷键,手把手教你截屏快捷键Ctrl+Alt+A不能用了怎么办
  15. FBOX HMI脚本编写注意事项
  16. Adobe AE CC切换语言 中英文切换
  17. 电灯开关-第12届蓝桥杯Scratch省赛2真题第1题
  18. “贫民窟”下的农民工
  19. 笔试题 - 训练部队(战斗力值和潜力值)
  20. 【0109】Linux系统监测工具sysstat介绍

热门文章

  1. fastjson jsonobject 转bean失败_FastJson是如何导致App Crash的
  2. 自定义导航--wx.getMenuButtonBoundingClientRect() 万机兼容
  3. ionic3 前台时间戳转化成日期问题
  4. mysql 自动生成mapper_Spring Boot整合mybatis并自动生成mapper和实体实例解析
  5. java 字符串contain_如何使用java.lang.String.contains()方法
  6. java hook 和反射_Java反射与hook混用反射某支付的方法
  7. MVC如何在HTML跳页面,请问在mvc网页中,如何跳转到web Form网页?
  8. python elseif用法_Python关键字简介
  9. solr 英文模拟mysql like查询xml_Solr实现类似MySQL的LIKE查询功能
  10. 虚拟机如何配置网络ip地址_木杉入门Elasticsearch(2):虚拟机IP地址配置