【python】-- pymsql 操作MySQL
pymysql
对MySQL数据库进行简单数据操作python模块主要是:MySQLdb、pymsql,MySQLdb模块主要用于python2.X,而python3.X则使用pymsql,pymysql的使用方法和MySQLdb几乎一样,习惯用MySQLdb的,只需 import MySQLdb 修改为 import pymysql 就可以了
一、安装
pip3 install pymysql
二、基本数据操作
a、增
import pymysql #打开数据库连接
db = pymysql.connect(host="localhost",
user="root",
password="123456",
db="mysql",
port=3306,
charset='utf8',
# 以字典形式展示所查询数据
cursorclass=pymysql.cursors.DictCursor) try:
with db.cursor() as cursor: # 使用cursor()方法获取操作游标
# sql语句
sql = "insert into user(id,username,password) values(4,'liu','1234')"
cursor.execute(sql) # 执行sql语句
#提交
db.commit()
except Exception as e:
print(e)
db.rollback() # 回滚
finally:
db.close() # 关闭连接
b、删
import pymysql #打开数据库连接
db = pymysql.connect(host="localhost",
user="root",
password="123456",
db="mysql",
port=3306,
charset='utf8',
# 以字典形式展示所查询数据
cursorclass=pymysql.cursors.DictCursor) try:
with db.cursor() as cursor: # 使用cursor()方法获取操作游标
# sql语句
sql = "delete from user where id = %d"
cursor.execute(sql %(4)) # 执行sql语句,并向sql语句传递参数
#提交
db.commit()
except Exception as e:
print(e)
db.rollback() # 回滚
finally:
db.close() # 关闭连接
c、查
import pymysql #打开数据库连接
db = pymysql.connect(host="localhost",
user="root",
password="123456",
db="mysql",
port=3306,
charset='utf8',
# 以字典形式展示所查询数据
cursorclass=pymysql.cursors.DictCursor) try:
with db.cursor() as cursor: # 使用cursor()方法获取操作游标
# 查询语句
sql = "select * from user"
cursor.execute(sql) # 执行sql语句
results = cursor.fetchall() # 获取查询的所有记录
print(results)
except Exception as e:
print(e)
finally:
db.close() # 关闭连接
d、改
import pymysql #打开数据库连接
db = pymysql.connect(host="localhost",
user="root",
password="123456",
db="mysql",
port=3306,
charset='utf8',
# 以字典形式展示所查询数据
cursorclass=pymysql.cursors.DictCursor) try:
with db.cursor() as cursor: # 使用cursor()方法获取操作游标
# sql语句
sql = "update user set username = '%s' where id = %d"
cursor.execute(sql % ("hello", 3)) # 执行sql语句, 并传递参数
#提交
db.commit()
except Exception as e:
print(e)
db.rollback() # 回滚
finally:
db.close() # 关闭连接
e、调用自定义函数
import pymysql #打开数据库连接
db = pymysql.connect(host="localhost",
user="root",
password="123456",
db="mysql",
port=3306,
charset='utf8',
# 以字典形式展示所查询数据
cursorclass=pymysql.cursors.DictCursor) try:
with db.cursor() as cursor: # 使用cursor()方法获取操作游标
# 调用自动应函数并传参
cursor.callproc(function_name,args=(data_id,phone,product_id,))
#提交
db.commit()
except Exception as e:
print(e)
db.rollback() # 回滚
finally:
db.close() # 关闭连接
f、 注:
查询数据
# 获取第一行数据
row_1 = cursor.fetchone()
# 获取前n行数据
# row_2 = cursor.fetchmany(3)
# 获取所有数据
# row_3 = cursor.fetchall()
pymysql:源码
【python】-- pymsql 操作MySQL的更多相关文章
- python下操作mysql 之 pymsql
python下操作mysql 之 pymsql pymsql是Python中操作MySQL的模块, 下载安装: pip3 install pymysql 使用操作 1, 执行SQL #!/usr/ ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- (转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...
- python数据库操作 - MySQL入门【转】
python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...
- day06 python代码操作MySQL
day06 python代码操作MySQL 今日内容 python代码操作MySQL 基于python与MySQL实现用户注册登录 python操作MySQL python 胶水语言.调包侠(贬义词& ...
- python 之操作mysql 数据库实例
对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delet ...
- python之操作mysql(一)
使用python操作mysql的思路: 1. 连接数据库:ip,端口号,密码,账号,数据库 2. 建立游标 3.执行sql语句 4.获取执行结果 5.关闭游标,关闭连接 conn = pymysql. ...
- python 安装操作 MySQL 数据库.
以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 xpower@xpower-CW65S:~$ sudo service mysql start [sudo] xpower 的密码: ...
- Python之 操作 MySQL 数据库
什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. 安装 Pytho ...
随机推荐
- 2017.9.5 postgresql加密函数的使用
需要安装的插件的名字:pgcrypto 官网地址:https://www.postgresql.org/docs/9.4/static/pgcrypto.html stackoverflow: htt ...
- C#.NET为List加入扩展方法:获取唯一值
public static class ListTools { /// <summary> /// 获取唯一值列表 /// </summary> /// <param n ...
- 解决dubbo问题:forbid consumer(2)
线下环境经常出现类似这种异常: com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.0.53.69 access service com.ku ...
- Angular 学习笔记——ng-animate
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- PS 如何附加增效工具.
编辑-首选项-增效工具,选择目标增效工具文件夹
- node - post - 上传图片
html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- JQuery修改对象的属性值
JQuery修改对象的属性值 用到的便是JQuery提供的attr方法,获取属性值的基本结构为:$(obj).attr("属性名"):修改属性值的结构为:$(obj).attr(& ...
- 控制器View是怎样创建的?
对于非常多程序猿来说控制器和View的关系肯定有点模糊,对于View的创建肯定有一种说不清道不明的感觉.view仅仅是控制器的一个属性.控制器中有很多对view处理的方法.也就是说得控制器管理view ...
- js事件之onmousedown和onmouseup
<!DOCTYPE html> <html> <head> <script> function mouseDown() { document.getEl ...
- bean对应mapper.xml字段
在bean中set的时候最好写上这个,避免报空指针............... public void setImgAddress(String imgAddress) { this.imgAddr ...