一些常用函数及解释

db = pymysql.connect('host','user','password','database') # 连接数据库

cursor = db.cursor() # 创建游标对象

cursor.execute(sql) # 执行sql语句sql为sql语句

data = cursor.fetchone() # 获取单条数据(具体用法见下面示例)

data_list = fetchall() # 接收全部的返回结果行

db.commit() # 提交到数据库执行

db.rollback() # 发生错误回滚

db.close() # 关闭连接

主要操作是通过sql语句递交给execute()函数执行

以下是一些常用方法的例子

数据库创建表操作代码示例

  1. import pymysql
  2. # 链接数据库
  3. db = pymysql.connect("yourhost", "yourname", "yourpassword", "yourdatabase")
  4. # 创建游标对象
  5. cursor = db.cursor()
  6. # 使用execute()方法执行SQL,如果表存在则删除
  7. cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
  8. # SQL语句创建表
  9. sql = """
  10. CREATE TABLE EMPLOYEE (
  11. FIRST_NAME CHAR(20) NOT NULL,
  12. LAST_NAME CHAR(20),
  13. AGE INT,
  14. SEX CHAR(1),
  15. INCOME FLOAT )
  16. """
  17. cursor.execute(sql)
  18. # 关闭数据库连接
  19. db.close()

数据库插入操作代码示例

  1. import pymysql
  2. config = {
  3. "host":"yourhost",
  4. "user":"yourname",
  5. "password":"yourpassword",
  6. "database":"yourdatabase"
  7. }
  8. db = pymysql.connect(**config)
  9. cursor = db.cursor()
  10. F_name = 'Dawei'
  11. L_name = 'Wang'
  12. age = 20
  13. sex = 'M'
  14. income = 2000
  15. # 注意 %s 外加引号,作为字符,否者mysql会认为是一个column
  16. sql = "INSERT INTO EMPLOYEE (FIRST_NAME, \
  17. LAST_NAME, AGE, SEX, INCOME) VALUES \
  18. ('%s', '%s', '%s', '%s', '%s')" %\
  19. (F_name, L_name, age, sex, income)
  20. try:
  21. # 执行SQL语句
  22. cursor.execute(sql)
  23. # 提交到数据库执行,为了及时跟进数据库这句最好加上
  24. db.commit()
  25. except:
  26. # 如果发生错误则回滚
  27. db.rollback()
  28. db.close()

数据库查询操作代码示例

  1. import pymysql
  2. config = {
  3. "host":"yourhost",
  4. "user":"yourname",
  5. "password":"yourpassword",
  6. "database":"yourdatabase"
  7. }
  8. db = pymysql.connect(**config)
  9. cursor = db.cursor()
  10. # SQL 查询语句
  11. sql = "SELECT * FROM EMPLOYEE \
  12. WHERE INCOME > %s" % (1000)
  13. try:
  14. # 执行语句
  15. cursor.execute(sql)
  16. # 获取所有列表记录
  17. results = cursor.fetchall()
  18. for row in results:
  19. fname = row[0]
  20. lname = row[1]
  21. age = row[2]
  22. sex = row[3]
  23. income = row[4]
  24. # 打印结果
  25. print("fname = %s, lname = %s, age = %s, sex = %s, income = %s" % \
  26. (fname, lname, age, sex, income ))
  27. except:
  28. print("Error: unable to fetch data")
  29. db.close()

数据库更新操作代码示例

  1. import pymysql
  2. config = {
  3. "host":"yourhost",
  4. "user":"yourname",
  5. "password":"yourpassword",
  6. "database":"yourdatabase"
  7. }
  8. db = pymysql.connect(**config)
  9. cursor = db.cursor()
  10. # SQL 更新语句
  11. sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
  12. try:
  13. # 执行SQL语句
  14. cursor.execute(sql)
  15. db.commit()
  16. except:
  17. db.rollback()
  18. db.close()

数据库删除操作代码示例

  1. import pymysql
  2. config = {
  3. "host":"yourhost",
  4. "user":"yourname",
  5. "password":"yourpassword",
  6. "database":"yourdatabase"
  7. }
  8. db = pymysql.connect(**config)
  9. cursor = db.cursor()
  10. # SQL 删除语句
  11. sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
  12. try:
  13. cursor.execute(sql)
  14. db.commit()
  15. except:
  16. db.rollback()
  17. db.close()

PyMySQL学习笔记的更多相关文章

  1. python3 pymysql学习笔记

    练手项目需要用到mysql就顺手把mysql也学了,这个模块没什么好说的,比较简单,实际整个过程我都是在学mysql语句,但还是发现了一些问题. fetchall() 获取结果集中的所有行 这个函数难 ...

  2. [学习笔记] pymysql入门

    一.快速开始 对于会用MySQL的朋友来说,开始使用pymysql可以说真的so esay,只要用下面的代码,把想要对数据库的操作放在 sql = " " 里就可以了. 没有接触过 ...

  3. Django学习笔记(9)—— 开发用户注册与登录系统

    一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...

  4. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  5. Django初识 学习笔记一

    Django初识 学习笔记一 mvcviewsmodelstemplate. 一 MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(c ...

  6. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  7. SQLAlchemy 学习笔记(一):Engine 与 SQL 表达式语言

    个人笔记,如有错误烦请指正. SQLAlchemy 是一个用 Python 实现的 ORM (Object Relational Mapping)框架,它由多个组件构成,这些组件可以单独使用,也能独立 ...

  8. Django学习笔记(18)——BBS+Blog项目开发(2)主体思路及流程

    这篇博客主要完成一个BBS+Blog项目,那么主要是模仿博客园的博客思路,使用Django框架进行练习. 准备:项目需求分析 在做一个项目的时候,我们首先做的就是谈清楚项目需求,功能需求,然后才开始写 ...

  9. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

随机推荐

  1. 新闻网大数据实时分析可视化系统项目——16、Spark2.X集群运行模式

    1.几种运行模式介绍 Spark几种运行模式: 1)Local 2)Standalone 3)Yarn 4)Mesos 下载IDEA并安装,可以百度一下免费文档. 2.spark Standalone ...

  2. 使用 esxcli storage vmfs unmap 命令在精简置备的 LUN 上回收 VMFS 删除的块

    官方原文链接: https://kb.vmware.com/s/article/2057513?lang=zh_CN 本文介绍如何通过运行 esxcli storage vmfs unmap 命令回收 ...

  3. Kubernetes——容器集群

    kuberneteskubernetes(k8s)是google的容器集群管理系统,在docker的基础之上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整的功能,提高了大规模容 ...

  4. STM32F103 USB虚拟串口 驱动例程移植

    1)驱动下载及安装.目前ST公司支持WIN7版本号为:VCP_V1.3.1_Setup.exe (在官网上搜索stsw-stm32102即是了):先安装驱动后再插入USB不然安装不成功. 2)固件下载 ...

  5. FORK()函数

    一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的 ...

  6. bug-解决微信页面input键盘不回弹问题

    pageReturn () { this.$refs.phoneValue.blur(); this.$refs.verifyCode.blur(); setTimeout(() => { wi ...

  7. [CodeForces]1263A Sweet Problem

    题目链接 题目描述 You have three piles of candies: red, green and blue candies: the first pile contains only ...

  8. 0-java概述

    目录 Java发展历史 java规范 Java三大分支 Java SE学习路径 HelloWorld 1.Java发展历史 - Java出身于sun公司 - sun公司被Oracle公司收购 2.ja ...

  9. Git删除无效远程分支

    当远程分支删除的时候,本地同步下来的远程分支却不会删除,久而久之,本地积累了不少无效的远程分支.找了一下,可以用如下命令清除它们: git remote update -p

  10. Fedora-19安装texlive2013并配置中文

    参考博文:  http://blog.csdn.net/longerzone/article/details/8129124 之前通过yum install安装了texlive,不过在使用过程中老是报 ...