【python】mysql的操作
1. mysql的连接
操作步骤:导包 import pymysql数据库连接设置 conn=pymysql.connect(host,user,passwd,port,db,charset)生成游标 cur=conn.cursor(cursor=pymysql.cursors.DictCursor)编写sql语句 sql='select * from student'执行sql语句 cur.excute(sql)获取数据 data=cur.fetchall()关闭游标 cur.close()关闭连接 conn.close()
# 数据库连接设置
conn = pymysql.connect(host="127.0.0.1", port=3306,user="root", password="123456",database="test",charset='utf8')
# 生成游标
cur = conn.cursor()# 数据库进行操作
sql = 'select * from student'
res = cur.execute(sql)
# 一是为了验证连接是否成功,二是查看返还值到底是什么
print(res) # 5# 如何获取返回的数据
# 1-获取查询结果中所有的返回数据
all_data = cur.fetchall()
print(all_data) #((1, 'zs', 18), (2, 'ls', 19), (3, 'ww', 18), (4, 'zl', 16), (5, 'jack', 17))# 2-获取查询结果中1条返回数据
data = cur.fetchmany(3) #((1, 'zs', 18), (2, 'ls', 19), (3, 'ww', 18))
print(data)one_data = cur.fetchone()
print(one_data) #(4, 'zl', 16)# 3-获取查询结果中前3条返回数据
data = cur.fetchmany(3)
print(data)# 游标的移动# 关闭游标
cur.close()
# 关闭连接
conn.close()
2. 数据库的增删改查
# 数据库连接设置
conn = pymysql.connect(host="127.0.0.1", port=3306,user="root", password="123456",database="test",charset='utf8',autocommit=True)
# 生成游标
cur = conn.cursor()# 数据库进行操作# 增加操作
sql_insert = 'insert into student(name,age) values("五月天1",20);'
res = cur.execute(sql_insert)# 一是为了验证连接是否成功,二是查看返还值到底是什么
print(res) # 5
# python操作Mysql数据库时,默认是手动提交事务的方式
# 1:自己来写提交的sql
conn.commit() #
# 2:设置Mysql是自动提交事务的这种方式 --推荐# # 修改操作
sql_update = 'update student set name = "珏" where name="五月天1";'
res = cur.execute(sql_update)# # 删除操作
sql_delete = 'delete from student where id =5;'
res = cur.execute(sql_delete)# 执行多条sql语句
sql = 'insert into student(name,age) values(%s,%s);'
data = [("muzi1",20),("muzi2",20)]
cur.executemany(sql,data)def fun(name,age):sql = 'insert into student(name,age) values("{}",{});'.format(name,age)cur.execute(sql)fun('zs',18)
fun('lisa',20)# 关闭游标
cur.close()
# 关闭连接
conn.close()
3. Mysql数据库的游标移动操作
移动光标,scroll(value, mode)方法 参数:当mode='relative'时,代表相对移动,默认值,value就是移动的长度,value>0向后移动(从位置0移动到位置2),value<0向前移动(比如从位置2移动到位置0)当mode='absolute'时,代表绝对移动,value就代表移动的绝对位置,value=0就代表移动到位置0处,就是结果集开头,value=3就是移动到位置3处,也就是第4条记录处。
# 数据库连接设置
conn = pymysql.connect(host="127.0.0.1", port=3306,user="root", password="123456",database="test",charset='utf8')
# 生成游标
cur = conn.cursor()# 数据库进行操作
sql = 'select * from student'
res = cur.execute(sql)
# 一是为了验证连接是否成功,二是查看返还值到底是什么
print(res) # 5# 如何获取返回的数据
# 1-获取查询结果中所有的返回数据
all_data = cur.fetchall()
print(all_data) #((1, 'zs', 18), (2, 'ls', 19), (3, 'ww', 18), (4, 'zl', 16), (5, 'jack', 17))# # 2-获取查询结果中1条返回数据
data = cur.fetchmany(3) #((1, 'zs', 18), (2, 'ls', 19), (3, 'ww', 18))
print(data)# 游标的移动
# 需求1:要求移动游标,获取一条数据,数据内容:(1, 'zs', 18)
# 绝对位置的移动
# cur.scroll(value=0, mode='absolute') #结果集的开头就是0# 相对位置的移动
cur.scroll(value=-3, mode='relative')one_data = cur.fetchone()
print(one_data) #(2, 'ls', 19)# 获取倒数的3条记录
# 控制游标的移动
cur.scroll(value=res-3, mode='relative')data = cur.fetchmany(3)
print(data)# 关闭游标
cur.close()
# 关闭连接
conn.close()
【python】mysql的操作相关推荐
- Python - MySQL数据库操作
Python2 中使用模块 MySQLdb 模块处理数据库的操作,在Python3中使用 PyMySQL Python2 - 数据库的操作 1. MySQLdb 安装 yum -y install M ...
- python mysql latin1_python操作Mysql数据库
python操作Mysql数据库 目前工作中主要使用的还是mysql数据库,这里把常用的函数做下总结. python3选择使用pymysql包进行数据库操作,使用pip3 install PyMySQ ...
- python mysql数据库操作grid控件_Python学习笔记_02:使用Tkinter连接MySQL数据库实现登陆注册功能...
1 环境搭建 1.1 Python安装 本文具体实现部分Python环境:Python2.7.14,64位版本 附:配置PythonIDE,推荐PyCharm(具体IDE界面见下图),下载点击运行即可 ...
- Python Mysql 数据库操作
2019独角兽企业重金招聘Python工程师标准>>> 本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或 ...
- python mysql dbutils_python操作mysql数据库增删改查的dbutils实例
#encoding=utf-8 importMySQLdbimportgconf#主类 classMysqlConnection(object):def __init__(self, host, po ...
- python mysql res_python操作mysql(三)查询
#_*_coding:utf-8_*_ import MySQLdb DBHOST = "192.168.89.101" DBUSER = "root" DBP ...
- Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8
我使用python的MySQLdb模块实现了一个mysql client, 在测试时,出现了如下错误 Python模块MySQLdb操作mysql出现2019错误:Can't initialize c ...
- python实现数据库事务回滚_使用Python脚本实现MySQL误操作的快速回滚
1.简介 在Oracle数据库中,当一个误操作被提交后,我们可以通过Oracle提供的闪回功能将表闪回至误操作之前的状态.mysql中没有原生的flushback功能,DBA误操作时,传统的恢复方式是 ...
- python启动mysql_Python操作MySQL
安装PyMySQL python中连接mysql的客户端主要有mysqldb.mysql-connector.pymysql三种.虽说性能上面各有差别,但是主流市场还是以操作便捷.使用简单为选择条件. ...
- python mysql倒序_day40:MySQL:python操作mysql:pymysql模块SQL注入攻击
目录 part1:用python连接mysql 1.用python连接mysql的基本语法 创建连接conn→创建游标对象cursor→执行sql语句execute→获取数据fetchone→释放游标 ...
最新文章
- mysql数据库utf-8编码
- cocos2d-x游戏实例(27)-简易动作游戏(5)
- linux ping监控脚本,WINDOWS和LINUX下带时间的PING包监控脚本
- MFC初探 —— 文件与文件夹的选择与拷贝
- 公司想建个FTP文件服务器,自己折腾把一台电脑做成文件服务器了,但是考虑稳定性放弃,计划买个有哪些建议?
- 如何安装win10与linux双系统,Windows10与CentOS 双系统共存完美教程
- C++多态虚函数demo
- Node.js:node项目中连接postgresql以及基础使用
- 再也不学AJAX了!(一)AJAX概述
- Necurs僵尸网络重操旧业发送垃圾邮件 影响股票市场
- springboot关闭http登录验证
- mac安装win7之后鼠标失灵_苹果电脑安装win7时键盘鼠标无响应3种解决方案
- ffmpeg 截取切割视频报错
- PSM价格敏感度模型
- 注册Apple ID -- 常识
- 谱密度 matlab,功率谱密度估计方法的matlab实现.doc
- 什么是5G LAN 5G LAN商用爆发推动5G创新应用 提速数字转型新引擎
- 【Qt象棋游戏】08_人机博弈高阶算法
- logstash-plugin install报错message: certificate verify failed
- C语言字符串、转义字符
热门文章
- 绩效管理KPI指标体系设计:142页KPI设计思路与实施实践
- vCenter HA (至少VCSA6.5及以上)
- Linux学习总结(78)—— 常见开源协议讲解
- Kubernetes学习总结(16)—— Kubernetes 实战之部署 Redis 集群
- 网站性能测试指标:QPS、TPS、吞吐量、响应时间概述
- 计算机知识点背诵了就忘了怎么办,背得滚瓜烂熟的知识点,为什么一上考场全忘了?这样做,事半功倍…...
- java 求集合真子集_【同步练习】高一高中数学必修1集合的关系与元素性质
- 如何隐藏电脑下方工具栏个别图标_最酷!最帅!最拽!这就是你想要的样子!工具栏美化终极篇...
- 蒋步星:轻量级大数据计算引擎
- Mac安装sqlite3