PyMySQL学习笔记
一些常用函数及解释
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()函数执行
以下是一些常用方法的例子
数据库创建表操作代码示例
import pymysql
# 链接数据库
db = pymysql.connect("yourhost", "yourname", "yourpassword", "yourdatabase")
# 创建游标对象
cursor = db.cursor()
# 使用execute()方法执行SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# SQL语句创建表
sql = """
CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )
"""
cursor.execute(sql)
# 关闭数据库连接
db.close()
数据库插入操作代码示例
import pymysql
config = {
"host":"yourhost",
"user":"yourname",
"password":"yourpassword",
"database":"yourdatabase"
}
db = pymysql.connect(**config)
cursor = db.cursor()
F_name = 'Dawei'
L_name = 'Wang'
age = 20
sex = 'M'
income = 2000
# 注意 %s 外加引号,作为字符,否者mysql会认为是一个column
sql = "INSERT INTO EMPLOYEE (FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) VALUES \
('%s', '%s', '%s', '%s', '%s')" %\
(F_name, L_name, age, sex, income)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行,为了及时跟进数据库这句最好加上
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
db.close()
数据库查询操作代码示例
import pymysql
config = {
"host":"yourhost",
"user":"yourname",
"password":"yourpassword",
"database":"yourdatabase"
}
db = pymysql.connect(**config)
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > %s" % (1000)
try:
# 执行语句
cursor.execute(sql)
# 获取所有列表记录
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("fname = %s, lname = %s, age = %s, sex = %s, income = %s" % \
(fname, lname, age, sex, income ))
except:
print("Error: unable to fetch data")
db.close()
数据库更新操作代码示例
import pymysql
config = {
"host":"yourhost",
"user":"yourname",
"password":"yourpassword",
"database":"yourdatabase"
}
db = pymysql.connect(**config)
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
数据库删除操作代码示例
import pymysql
config = {
"host":"yourhost",
"user":"yourname",
"password":"yourpassword",
"database":"yourdatabase"
}
db = pymysql.connect(**config)
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
PyMySQL学习笔记的更多相关文章
- python3 pymysql学习笔记
练手项目需要用到mysql就顺手把mysql也学了,这个模块没什么好说的,比较简单,实际整个过程我都是在学mysql语句,但还是发现了一些问题. fetchall() 获取结果集中的所有行 这个函数难 ...
- [学习笔记] pymysql入门
一.快速开始 对于会用MySQL的朋友来说,开始使用pymysql可以说真的so esay,只要用下面的代码,把想要对数据库的操作放在 sql = " " 里就可以了. 没有接触过 ...
- Django学习笔记(9)—— 开发用户注册与登录系统
一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...
- Django学习笔记(4)——Django连接数据库
前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...
- Django初识 学习笔记一
Django初识 学习笔记一 mvcviewsmodelstemplate. 一 MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(c ...
- python学习笔记目录
人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...
- SQLAlchemy 学习笔记(一):Engine 与 SQL 表达式语言
个人笔记,如有错误烦请指正. SQLAlchemy 是一个用 Python 实现的 ORM (Object Relational Mapping)框架,它由多个组件构成,这些组件可以单独使用,也能独立 ...
- Django学习笔记(18)——BBS+Blog项目开发(2)主体思路及流程
这篇博客主要完成一个BBS+Blog项目,那么主要是模仿博客园的博客思路,使用Django框架进行练习. 准备:项目需求分析 在做一个项目的时候,我们首先做的就是谈清楚项目需求,功能需求,然后才开始写 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- 在 Rolling Update 中使用 Health Check【转】
上一节讨论了 Health Check 在 Scale Up 中的应用,Health Check 另一个重要的应用场景是 Rolling Update.试想一下下面的情况: 现有一个正常运行的多副本应 ...
- 弱点扫描-openvas初始化
OPENVAS: NESSUS项目分支:商业版的扫描器 管理目标系统的漏洞 免费开源 Kali 默认安装但是未配置个启动 安装 创建证书 同步弱点数据库 创建客户端证书 重建数据库 备份数据库 启动服 ...
- XV6源代码阅读-虚拟内存管理
Exercise1 源代码阅读 1.内存管理部分: kalloc.c vm.c 以及相关其他文件代码 kalloc.c:char * kalloc(void)负责在需要的时候为用户空间.内核栈.页表页 ...
- CVE-2019-0708—微软RDP远程桌面代码执行漏洞复现
0x01 2019年9月7日凌晨,msf上更新了0708的漏洞利用程序. 顿时安全群和朋友圈就爆炸了 - 奈何接到HW攻击队任务,又在家过了个中秋,0708才在今天更新. 0x02 环境 Window ...
- SpringIOC初始化过程源码跟踪及学习
Spring版本 4.3.2,ssm框架 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 web.xml <!--配置获取项目的根路径,java类中使用System.getProperty ...
- R Akaike information criterion,AIC,一个越小越好的指标
Akaike information criterion,AIC是什么?一个用来筛选模型的指标.AIC越小模型越好,通常选择AIC最小的模型.第一句话好记,第二句话就呵呵了,小编有时候就会迷惑AIC越 ...
- java#类的实例化顺序
关于类的实例化,不用弄的那么细致,这里只说单一类,没有其他父类(排除Obejct)的情况.要实例化一个类,需要加载class文件到jvm并且验证通过了是安全的字节码文件. 初始化大致上是按照如下步骤: ...
- Day 4 -E - Catenyms POJ - 2337
A catenym is a pair of words separated by a period such that the last letter of the first word is th ...
- ②初识spring
一:基础搭建 需要:eclipse.spring插件(确认版本号并下载对应插件详见:https://blog.csdn.net/a1150499208/article/details/87988392 ...
- Install and Configure NFS Server on RHEL 8 / CentOS 8
https://computingforgeeks.com/install-and-configure-nfs-server-on-centos-rhel/