【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 ...
随机推荐
- shell中字符串截取
Linux 的字符串截取很有用.有八种方法. 假设有变量 var="User:123//321:/home/dir" 1. # 号截取,删除左边字符,保留右边字符. [root@z ...
- zabbix自定义触发器
zabbix中监控项仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,"触发器"正式 用于为监控项所收集的数据定义阈值,每一个触发器 ...
- 2017.8.1 logstash基础语法学习
数据类型 bool:debug => true string:host => "hostname" int:port => 514 array:match =&g ...
- PS 不能使用移动工具 因为目标图层被隐藏怎么办
photoshop任何图层都无法移动或者修改,提示目标通道被隐藏. 在ps任何图层都无法移动并且无法使用橡皮擦等修改工具,提示目标通道被隐藏.我看了下通道里面多了一个快速蒙版层(并且是被隐藏的),我打 ...
- 创建你的第一个ionic+cordova应用(1)
前面我们安装了前端的神器webstorm11,体验到了强大的开发体验,接着我们来安装ionic 必备: Node.js (npm安装工具) 百度下载 官网下载 注:如果官网新版不能安装请用百度下载0 ...
- 【VBA】查看窗口当前状态
Excle的窗口分为:最大化,最小化,一般 使用VB代码如何查看窗口的状态呢?代码如下所示: Sub 获取窗口状态() Dim State As String State = Application. ...
- Mybatis 存在多个日志时设置日志
mybatis默认使用log4j,当有self4j这个日志jar包存在时会无法打印sql,请移除或者在工程启动时显示设置mybatis使用的日志类 log4j.logger.org.apache.ib ...
- PJSIP dialog inv销毁
PJSIP的Diaglog(类型为pjsip_dialog) 可以被外部调用,同时PJSIP有自己的机制销毁用户创建的 Dialog,如PJSIP内部销毁了某个Diaglog,用户在不知情的情况下继续 ...
- java 中的 i++ 和 ++i
熟悉c/c++中的i++和++i,那么你知道下面的java代码效果是什么吗? 一 . 代码示例 /** * * @author elelule * */ public class TestPlusPl ...
- Android开源--PullToRefresh
开源地址: https://github.com/chrisbanes/Android-PullToRefresh 简单介绍:PullToRefresh是一款支持ListView,GridView,V ...