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的更多相关文章

  1. python下操作mysql 之 pymsql

    python下操作mysql  之  pymsql pymsql是Python中操作MySQL的模块, 下载安装: pip3 install pymysql 使用操作 1, 执行SQL #!/usr/ ...

  2. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  3. (转)Python中操作mysql的pymysql模块详解

    原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...

  4. python数据库操作 - MySQL入门【转】

    python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...

  5. day06 python代码操作MySQL

    day06 python代码操作MySQL 今日内容 python代码操作MySQL 基于python与MySQL实现用户注册登录 python操作MySQL python 胶水语言.调包侠(贬义词& ...

  6. python 之操作mysql 数据库实例

    对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delet ...

  7. python之操作mysql(一)

    使用python操作mysql的思路: 1. 连接数据库:ip,端口号,密码,账号,数据库 2. 建立游标 3.执行sql语句 4.获取执行结果 5.关闭游标,关闭连接 conn = pymysql. ...

  8. python 安装操作 MySQL 数据库.

    以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 xpower@xpower-CW65S:~$ sudo service mysql start [sudo] xpower 的密码: ...

  9. Python之 操作 MySQL 数据库

    什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. 安装 Pytho ...

随机推荐

  1. CentOS 7.2安装lepus数据库监控系统

      环境说明 系统版本 CentOS 7.2 x86_64 软件版本 lepus 3.7 Lepus是一套开源的数据库监控平台,目前已经支持MySQL.Oracle.SQLServer.MongoDB ...

  2. Matlab中特征向量间距离矩阵的并行mex程序

    在matlab中, 有n个向量(m维)的矩阵Mat(n, m) 要计算任两个向量间的距离, 即距离矩阵, 可使用以下的并行算法以加速: #include <iostream> #inclu ...

  3. Tomcat、Weblogic、JBoss、GlassFish、Resin、Websphere弱口令及拿webshell方法总结 [复制链接]

    1.java应用服务器    Java应用服务器主要为应用程序提供运行环境,为组件提供服务.Java 的应用服务器很多,从功能上分为两类:JSP 服务器和 Java EE 服务器.1.1  常见的Se ...

  4. php 位运算符的实际应用(权限判断)

    关键代码: define("READ", 1); define("WRITE", 2); define("DELETE", 4); defi ...

  5. python——iterator迭代器|iterator详解——20140918|

    -----------------------------------------------------------------------------前言--------------------- ...

  6. HTTP Analyzer过滤器使用

    HTTP Analyzer简单易用,真实抓包居家必备啊,上一次分享了Fiddler的过滤条件,这次介绍下这款软件的过滤,首先按照肯定是按照软件类型分类喽: 1.按照软件过滤: 这样只会显示chrome ...

  7. 拒绝IP登陆

    tail -n 30 /var/log/messages 发现很多IP尝试登陆,直接封禁. 解决方案:1. vi /etc/hosts.allow 添加 sshd:143.63.182.238 [注意 ...

  8. 合并apk和odex

    Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件.这样做可以使其厂 ...

  9. ios侧滑返回:完美解决 interactivePopGestureRecognizer 卡住的问题

    interactivePopGestureRecognizer是iOS7推出的解决VeiwController滑动后退的新功能,虽然很实用,但是坑也很多啊(比如在rootViewcontroller下 ...

  10. mysql用merge合并表

    merge合并表的要求 1.合并的表使用的必须是MyISAM引擎 2.表的结构必须一致,包括索引.字段类型.引擎和字符集 实例: create table if not exists user1( i ...