python3使用pymysql模块,连接mysql数据库,实现新增、查询和更新操作
1、环境数据准备:
python3环境、pymysql模块
mysql数据库:本次代码中用到的数据库为本地的testdb数据库,user表(表字段比较简单,只有主键id,手机号mobile,密码passwd)
2、本次代码直接封装为类,代码中附有注释,把数据库参数改为自己实际的就可以直接使用
#引入pymysql模块
import pymysql class DoMysql:
#初始化
def __init__(self):
#创建连接
self.conn = pymysql.Connect(
host = 'localhost',
port = 3306,
user = 'root',
password = 'root',
db = 'testdb',
charset = 'utf8',
cursorclass = pymysql.cursors.DictCursor #以字典的形式返回数据
)
#获取游标
self.cursor = self.conn.cursor() #返回多条数据
def fetchAll(self,sql):
self.cursor.execute(sql)
return self.cursor.fetchall() #插入一条数据
def insert_one(self,sql):
result = self.cursor.execute(sql)
self.conn.commit()
return result #插入多条数据
def insert_many(self,sql,datas):
result = self.cursor.executemany(sql,datas)
self.conn.commit()
return result #更新数据
def update(self,sql):
result = self.cursor.execute(sql)
self.conn.commit()
return result #关闭连接
def close(self):
self.cursor.close()
self.conn.close() if __name__ == '__main__':
mysql = DoMysql()
#插入一条数据
sql = 'insert into `user`(`mobile`,`passwd`) values("13100010000","123456")'
result = mysql.insert_one(sql)
print(result) #返回插入数据的条数(1) #插入多条数据
datas = [
("",""),
("","")
]
sql = 'insert into `user`(`mobile`,`passwd`) values(%s,%s)'
result = mysql.insert_many(sql,datas)
print(result) #返回插入数据的条数(2) #查询数据
sql = 'select * from user'
result = mysql.fetchAll(sql) #返回列表,如果多条数据,列表中嵌套字典
for item in result:
print(item.get('mobile')) #循环列表,输出mobile值 #关闭连接
mysql.close()
3、扩展信息
pymysql.Connect()参数说明
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码
connection对象支持的方法
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接
cursor对象支持的方法
execute(op) 执行一个数据库的查询命令
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象
python3使用pymysql模块,连接mysql数据库,实现新增、查询和更新操作的更多相关文章
- 【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作
用pip下载pymysql并引用 具体请参考文章: <Python之MySQL数据库增删改查操作> <python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删 ...
- 分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)
分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目 ...
- Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库
最近所写的代码中需要用到python去连接MySql数据库,因为是用PyQt5来构建的GUI,原本打算使用PyQt5中的数据库连接方法,后来虽然能够正确连接上发现还是不能提交修改内容,最后在qq交流群 ...
- php之PDO连接mysql数据库,增删改查等等操作实例
我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严就有SQL注入风险,导致网站被攻击. 虽然可以用mysql_real_escape_string ...
- vs2017 + Python3.6 +Django1.11 连接mysql数据库
不废话直接来. vs2017创建一个新的python web项目之后默认链接数据库是sqlite.但是我就想连接到Mysql 上面玩,于是开始倒腾了.下面是步骤 1.修改settings.py 文件需 ...
- python3使用pymysql库连接MySQL的常用操作
#导入pymysql模块import pymysql #连接数据库connect = pymysql.connect( host='localhost', port=3306, user='root' ...
- java连接mysql数据库 三 实现增删改查操作
同以前一样,先写一个数据库打开和关闭操作类 public class DBConnection { String driver = "com.mysql.jdbc.Driver"; ...
- 我的第五个程序 java的JDBC连接mysql数据库 实现输入查询
import java.sql.*; import java.util.Scanner; public class JDBCTest { public static void main(String[ ...
- jmeter连接mysql数据库进行单条语句查询
前提工作: 1.在jmeter官网下载jmeter包(官网地址:https://jmeter.apache.org/).此外还需下载mysql驱动包,如:mysql-connector-java-5. ...
- jmeter连接mysql数据库进行多条语句查询
前提工作: 1.在jmeter官网下载jmeter包(官网地址:https://jmeter.apache.org/).此外还需下载mysql驱动包,如:mysql-connector-java-5. ...
随机推荐
- log4j2笔记 #01# Architecture
索引 Architecture Main Components Logger Hierarchy LoggerContext Configuration Logger LoggerConfig Fil ...
- css列表list、表格table
列表list,无序列表ul,有序列表ol 1.列表项样式list-style-type 无列表默认为dist实心圆,有序列表默认为decimal阿拉伯数字(前面不带0) 其他无序列表常用none无样式 ...
- 使用v-bind处理class与style
普通的css引入: 变量引入: 通过定义一个变量fontColor来通过v-bind来进行绑定在h3z的class中 <!--变量引入--> <h3 :class="fon ...
- DBeaver数据库管理工具连接Sybase数据库
DBeaver数据库管理工具连接Sybase数据库 1. 下载DBeaver 官方网站:http://dbeaver.jkiss.org/ DBeaver5.3.1解压缩版(不用安装和配置):http ...
- Angular4.x 中的服务
Angular4.x 中的服务 写下前面 学习angular4.x中的服务需要借助 ToDoList 项目来做,项目代码在上篇博客中讲到. https://www.cnblogs.com/wjw101 ...
- mysql 用存储过程插入11位 随机数
BEGIN #Routine body goes here... ; ); ); ); ); ); ); ); ); ); ); ); ); ) DEFAULT ''; ); ); WHILE row ...
- 基于QProbe创建基本Android图像处理框架
先来看一个GIF 这个GIF中有以下几个值得注意的地方 这个界面是基本的主要界面所应该在的地方.其右下角有一个“+”号,点击后,打开图像采集界面 在这个界面最上面的地方,显示的是当前图像处理的状态.( ...
- 并发 --- 2 进程的方法,进程锁 守护进程 数据共享 进程队列, joinablequeue模型
一.进程的其他方法 1. .name 进程名 (可指定) 2. .pid 进程号 3. os.getpid 在什么位置就是什么的进程号 4. .is ...
- topcoder srm 535 div1
problem1 link 对于每个质因子$p$,枚举其出现的最少次数以及最多次数分别在哪个数字中. problem2 link 分数规划.题目是求$\frac{3600K+\sum_{i=0}^{K ...
- TFS 报错解决方案:tf400324
同事的解决方案没报这个问题将他的C:\Windows\System32\drivers\etc\hosts文件覆盖自己的文件,主要备份自己的文件不行了替换掉