centos写mysql光标移到上一行_python操作mysql——使用pymysql库
pymysql是python3连接mysql操作的库,在python2中使用的是mysqldb
1.基础操作
创建连接
import pymysqldb_conn = pymysql.connect(host="你的数据库地址",user="用户名",port=3306,password="密码",database="数据库名",charset="utf8")# 得到一个可以执行SQL语句的光标对象
cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 定义要执行的sql语句
sql = """
CREATE TABLE USER1 (
id INT auto_increment PRIMARY KEY ,
name CHAR(10) NOT NULL UNIQUE,
age TINYINT NOT NULL
)ENGINE=innodb DEFAULT CHARSET=utf8; #注意:charset='utf8' 不能写成utf-8
"""# 执行
res=cursor.execute(sql)
sql = 'select * from user1 where name = %s and age=%d'
name = "zhangchen"
age = 28
# execute函数可以加格式化字符参数
res = cursor.execute(sql, [name, age])
print(res)# 执行结束后要关闭光标和连接
cursor.close()
db_conn.close()
2.增删改查
插入多条数据
import pymysqlconn = pymysql.connect(host='192.168.0.103',port=3306,user='root',password='123',database='xing',charset='utf8'
)
# 获取一个光标
cursor = conn.cursor()# 定义要执行的sql语句
sql = 'insert into userinfo(name,age) values(%s,%d);'
data = [('july', 14),('june', 25),('marin', 36)
]
# 拼接并执行sql语句
cursor.executemany(sql, data)# 涉及写操作要注意提交
conn.commit()# 关闭连接
cursor.close()
conn.close()
插入单条数据
sql ='insert into userinfo (user,pwd) values (%s,%d);'name = 'zhangchen'
pwd = 28
cursor.execute(sql, [name, pwd])
conn.commit()
cursor.close()
conn.close()
获取最后一行的数据(可以理解为最新插入的数据)
# 定义将要执行的SQL语句
sql = "insert into user1 (name, age) values (%s, %d);"
name = "zhangchen"
pwd = 28
# 并执行SQL语句
cursor.execute(sql, [name, age])
# 涉及写操作注意要提交
conn.commit()# 获取最新的那一条数据的ID
last_id = cursor.lastrowid
print("最后一条数据的ID是:", last_id)# 关闭连接
cursor.close()
conn.close()
删除操作
# 定义将要执行的SQL语句
sql = "delete from user1 where name=%s;"
name = "june"
# 拼接并执行SQL语句
cursor.execute(sql, [name])
# 涉及写操作注意要提交
conn.commit()
# 关闭连接cursor.close()
conn.close()
更改数据
sql = "update user1 set age=%d where name=%s;"
# 拼接并执行SQL语句
cursor.execute(sql, [18, "zhangchen"])# 涉及写操作注意要提交
conn.commit()# 关闭连接
cursor.close ()
conn.close ()
查询数据
# 获取一个光标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 返回字典数据类型# 定义将要执行的sql语句
sql = 'select name,age from user1;'
# 执行sql语句
cursor.execute(sql)# 取到查询结果
ret1 = cursor.fetchone() # 取一条
ret2 = cursor.fetchmany(3) # 取三条
ret3 = cursor.fetchone() # 取一条# 光标按绝对位置移动1
cursor.scroll(1, mode="absolute")
# 光标按照相对位置(当前位置)移动1
cursor.scroll(1, mode="relative")
数据回滚
try:# 拼接并执行SQL语句cursor.execute(sql1, [name, age])print(sql1)cursor.execute(sql2, [id, hobby]) # 报错的SQL语句# 涉及写操作注意要提交conn.commit()
except Exception as e:print(str(e))# 有异常就回滚conn.rollback()# 关闭连接
cursor.close()
conn.close()
centos写mysql光标移到上一行_python操作mysql——使用pymysql库相关推荐
- centos写mysql光标移到上一行_mysql:一条SQL更新语句(update)是如何执行的
一条更新语句的执行流程又是怎样的呢? 之前你可能经常听DBA同事说,MySQL可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢? 我们还是从一个表的一条更新语 ...
- MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南
MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库. 有关 MySQL 远程管理软件,你可以选择 ...
- mysql查看数据库cmd命令_cmd命令操作Mysql数据库
在一次考试中,笔者因考试的电脑上没有安装操作Mysql数据库的可视化工具而不知如何操作数据库,所以在这里可以提醒各位掌握 命令行来操作数据库也是非常重要的. 笔者以惨痛的教训来警惕大家. 进入正题: ...
- mac上mysql关闭不了了_python操作mysql数据库
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
- tomcat mysql 启动顺序_linux 上配置tomcat、mysql 开机启动
1.tomcat 开机启动 方法一.修改系统文件 (已经尝试,可以) 1.修改/etc/rc.d/rc.local vi /etc/rc.d/rc.local 2.添加下面两行脚本,记住是两行,仅仅第 ...
- fedora mysql 操作系统,Fedora 15 上使用php+apache+mysql+phpMyAdmin+eyeos
Fedora 15 下使用php+apache+mysql+phpMyAdmin+eyeos 使用phpMyAdmin管理mysql: // 安装相关套件 sudo yum install php m ...
- python连接数据库的技术_Python操作MySQL数据库的三种方法
(1) 什么是MySQLdb? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. ...
- python读取mysql数据库_Python操作MySQL数据库9个实用实例
在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1. ...
- python mysql实例_Python操作Mysql实例代码
本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐. 实例 ...
最新文章
- canvas做一个简单气泡图
- Luogu 3008 [USACO11JAN]道路和飞机Roads and Planes
- java幂等性的控制(技术论坛上整理成文)
- SVM推导过程及SMO详细求解过程(转载+自己笔记)
- Android开发之非常好用的日志工具类(公司项目挖出来的)
- 第0周作业2:博客阅读和思考
- php接收vue请求数据axios,详解vue axios用post提交的数据格式
- 详解CentOS7安装配置vsftp搭建FTP
- WAMPServer使用
- 史上最通俗分布式锁解读
- srgan要训练多久_SRGAN-超分辨率图像复原
- sql Server索引优化[转]
- Oracle监听器无法启动
- 学习plc编程需要掌握的知识点
- 惠威T200B刷机 Q群
- ClickHouse数据库和数据表
- Kaggle Top1% 是如何炼成的!
- IDEA/GoLand 添加自定义特殊注释【注释高亮】
- IBUFDS、IBUFGDS和OBUFDS
- NUC980开源项目40-PLC远程下载/内网穿透(非技术)
热门文章
- RT-Thread中自定义MSH命令传入的参数是字符串,需用户自行检查和解析
- python随机划分数据集_Python之机器学习-sklearn生成随机数据
- matlab程序设计图像匹配,灰度,归一化算法,快速匹配。有代码好用。转载
- 关于linux内核的有关叙述中,下列关于嵌入式Linux系统内核的叙述正确的是()。
- PCI总线体系结构概述
- ArcGIS如何在一个矢量上用不同颜色进行标注
- 通过VisualSVN的POST-COMMIT钩子自动部署代码
- 【转】Dicom 学习笔记-Dicom 消息服务(DIMSE-C/DIMSE-N)
- 【转】五大方法,彻底永久关闭win10自动更新的方法【已验证有效】
- SharePoint安全 - SharePoint网站常用页面URL索引