一.pymysql的主要方法

pymysql.connect()参数说明:(连接数据库时需要添加的参数)
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码 connect()对象支持的方法:
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接 cursor对象支持的方法:
execute(op) 执行一个数据库的查询命令
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象

二.常用操作

1.查询数据

# coding: utf-8
# author: hmk import pymysql.cursors # 连接数据库
conn = pymysql.connect(host='localhost',
user='root',
password='123456',
db='test',
charset='utf8') # 创建一个游标
cursor = conn.cursor() # 查询数据
sql = "select * from maoyan_movie"
cursor.execute(sql) # 执行sql # 查询所有数据,返回结果默认以元组形式,所以可以进行迭代处理
for i in cursor.fetchall():
print(i)
print('共查询到:', cursor.rowcount, '条数据。') # 获取第一行数据
result_1 = cursor.fetchone()
print(result_1) # 获取前n行数据
result_3 = cursor.fetchmany(3)
print(result_3) cursor.close() # 关闭游标
conn.close() # 关闭连接

2.插入数据

# coding: utf-8
# author: hmk import pymysql.cursors # 连接数据库
conn = pymysql.connect(host='localhost',
user='root',
password='123456',
db='test',
charset='utf8') # 创建一个游标
cursor = conn.cursor()
# 插入数据
# 数据直接写在sql后面
sql = "insert into maoyan_movie(ranking,movie,release_time,score) values(%s, %s, %s, %s)" # 注意是%s,不是s%
cursor.execute(sql, ['101', '头号玩家', '上映时间:2018-05-21', '9.2']) # 列表格式数据
cursor.execute(sql, ('102', '马里奥', '上映时间:2018-01-21', '9.2')) # 元组格式数据 # 数据单独赋给一个对象
sql = "insert into maoyan_movie values(%s,%s,%s,%s)"
data = ('102', '铁蛋超人', '上映时间:2019-01-21', '9.5')
cursor.execute(sql, data) #sql和data之间以","隔开
sql = "insert into maoyan_movie values(%s,'%s','%s',%s)"
data = (102, '铁蛋超人', '上映时间:2019-01-21', 9.5)
cursor.execute(sql % data) #sql和data之间以"%"隔开,此时它的sql中注意要给中文字符对应的占位符加上引号,即"%s",不然会报错:unsupported format character 

conn.commit()   # 提交,不然无法保存插入或者修改的数据(这个一定不要忘记加上)
cursor.close()  # 关闭游标
conn.close() # 关闭连接

3.修改数据

# coding: utf-8
# author: hmk import pymysql.cursors # 连接数据库
conn = pymysql.connect(host='localhost',
user='root',
password='123456',
db='test',
charset='utf8')
# 创建一个游标
cursor = conn.cursor()
# 修改数据
sql = "update maoyan_movie set movie='%s' where ranking=%s" #注意%s什么时候加引号,什么时候不加
data = ('返老还童', 1)
cursor.execute(sql % data) sql = "update maoyan_movie set movie=%s where ranking=%s"
data = ('寂静之地', 1)
cursor.execute(sql, data)
conn.commit()   # 提交,不然无法保存插入或者修改的数据
cursor.close()  # 关闭游标
conn.close() # 关闭连接

4.删除数据

# coding: utf-8
# author: hmk import pymysql.cursors # 连接数据库
conn = pymysql.connect(host='localhost',
user='root',
password='123456',
db='test',
charset='utf8') # 创建一个游标
cursor = conn.cursor() # 删除数据
sql = "delete from maoyan_movie where ranking=%s"
data = (2)
cursor.execute(sql, data) conn.commit() # 提交,不然删除操作不生效
cursor.close()  # 关闭游标
conn.close() # 关闭连接

附上使用的表:

create table `maoyan_movie` (
`ranking` double ,
`movie` varchar (150),
`release_time` blob ,
`score` float
);

PyMySQL操作mysql数据库(py3必学)的更多相关文章

  1. flask + pymysql操作Mysql数据库

    安装flask-sqlalchemy.pymysql模块 pip install flask-sqlalchemy pymysql ### Flask-SQLAlchemy的介绍 1. ORM:Obj ...

  2. 用pymysql操作MySQL数据库

    工具库安装 pip install pymysql 连接关闭数据库与增删改查操作 # 导入pymysql库 import pymysql # 打开数据库连接 # 参数1:数据库服务器所在的主机+端口号 ...

  3. python使用pymysql操作mysql数据库

    1.安装pymysql pip install pymysql 2.数据库查询示例 import pymysql # 连接database conn =pymysql.connect(user=' , ...

  4. pymysql操作mysql数据库

    1.建库 import pymysql # 建库 try: conn=pymysql.connect( host='127.0.0.1', port=3306, user='root', passwd ...

  5. python 3.6 +pyMysql 操作mysql数据库

    版本信息:python:3.6 mysql:5.7 pyMysql:0.7.11 ########################################################### ...

  6. 使用pymysql 操作MySQL数据库

    安装 pip install pymysql 注:连接前要有可使用的账户及有权限.可操作的数据库 先来一个栗子: import pymysql # 连接database conn = pymysql. ...

  7. 使用pymysql操作mysql数据库

    PyMySQL的安装和连接 PyMySQL的安装 python3. -m pip install pymysql python连接数据库 import pymysql # 创建连接 conn = py ...

  8. pymysql操作mysql

    一.使用PyMySQL操作mysql数据库 适用环境 python版本 >=2.6或3.3 mysql版本>=4.1 安装 可以使用pip安装也可以手动下载安装.使用pip安装,在命令行执 ...

  9. python接口自动化(三十八)-python操作mysql数据库(详解)

    简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...

随机推荐

  1. [WOJ2549]逻辑的连通性

    题目描述: 数学中,假如有命题 p 一定能推出命题 q,则称 p 是 q 的充分条件,q 是 p 的必要 条件. 特别的,当 p 既是 q 的充分条件,又是 q 的必要条件时,称 p 和 q 互为 充 ...

  2. [BZOJ3916/WOJ3815]Friends

    题目链接: 传送门 题目: Description 有三个好朋友喜欢在一起玩游戏,A君写下一个字符串S,B君将其复制一遍得到T,C君在T的任意位置(包括首尾)插入一个字符得到U.现在你得到了U,请你找 ...

  3. Substring CodeForces - 919D

    http://codeforces.com/problemset/problem/919/D 就是先判环,如果有环就-1,否则对每个字母分开跑一下dp 错误记录: 1.有向图判环,自环一定要特判!(不 ...

  4. 洛谷 P4135 作诗

    分块大暴力,跟区间众数基本一样 #pragma GCC optimize(3) #include<cstdio> #include<algorithm> #include< ...

  5. AIX系统常用命令

    netstat -an | grep 9090  可以看到该端口正被监听,但却不知道是哪个进程占用了该端口 1. netstat -Aan|grep 端口号找到该端口连接对应的PCB/ADDR和连接的 ...

  6. 165 Compare Version Numbers 比较版本号

    比较两个版本号 version1 和 version2.如果 version1 大于 version2 返回 1,如果 version1 小于 version2 返回 -1, 除此以外 返回 0.您可 ...

  7. json2.js 源码解读

    这一部分是对Date String Number Boolean扩展toString方法,Date的toString是返回UTC格式的字符串,而后面几个是返回原始值. function f(n) {/ ...

  8. CSS实现文字旋转/实现角标

    主要用到属性transform:rotate(-30deg) example: .divedittable .project-tag div { width: 43px; line-height: 4 ...

  9. IDEA代码注释<斜体>的解决方法

    打开设置 将上图的checkbox取消勾选即可.

  10. Hello Shell

    shell是Linux平台的瑞士军刀,能够自动化完成很多工作.要了解UNIX 系统中可用的 Shell,可以使用 cat /etc/shells 命令.使用 chsh 命令 更改为所列出的任何 She ...