MySQL数据库(五)使用pymysql对数据库进行增删改查
折腾好半天的数据库连接,由于之前未安装 pip ,而且自己用的python 版本为3.6. 只能用 pymysql 来连接数据库,(如果有和我一样未安装 pip 的朋友请 点这里http://blog.csdn.net/qq_37176126/article/details/72824404 ),下边 简单介绍一下 连接的过程,以及简单的增删改查操作。
1.通过 pip 安装 pymysql
2.测试连接
2.1查询操作
- import pymysql #导入 pymysql
- #打开数据库连接
- db= pymysql.connect(host="localhost",user="root",
- password="123456",db="test",port=3307)
- # 使用cursor()方法获取操作游标
- cur = db.cursor()
- #1.查询操作
- # 编写sql 查询语句 user 对应我的表名
- sql = "select * from user"
- try:
- cur.execute(sql) #执行sql语句
- results = cur.fetchall() #获取查询的所有记录
- print("id","name","password")
- #遍历结果
- for row in results :
- id = row[0]
- name = row[1]
- password = row[2]
- print(id,name,password)
- except Exception as e:
- raise e
- finally:
- db.close() #关闭连接
2.2插入操作
- import pymysql
- #2.插入操作
- db= pymysql.connect(host="localhost",user="root",
- password="123456",db="test",port=3307)
- # 使用cursor()方法获取操作游标
- cur = db.cursor()
- sql_insert ="""insert into user(id,username,password) values(4,'liu','1234')"""
- try:
- cur.execute(sql_insert)
- #提交
- db.commit()
- except Exception as e:
- #错误回滚
- db.rollback()
- finally:
- db.close()
2.3更新操作
- import pymysql
- #3.更新操作
- db= pymysql.connect(host="localhost",user="root",
- password="123456",db="test",port=3307)
- # 使用cursor()方法获取操作游标
- cur = db.cursor()
- sql_update ="update user set username = '%s' where id = %d"
- try:
- cur.execute(sql_update % ("xiongda",3)) #像sql语句传递参数
- #提交
- db.commit()
- except Exception as e:
- #错误回滚
- db.rollback()
- finally:
- db.close()
2.4删除操作
- import pymysql
- #4.删除操作
- db= pymysql.connect(host="localhost",user="root",
- password="123456",db="test",port=3307)
- # 使用cursor()方法获取操作游标
- cur = db.cursor()
- sql_delete ="delete from user where id = %d"
- try:
- cur.execute(sql_delete % (3)) #像sql语句传递参数
- #提交
- db.commit()
- except Exception as e:
- #错误回滚
- db.rollback()
- finally:
- db.close()
参考连接:https://blog.csdn.net/qq_37176126/article/details/72824106
MySQL数据库(五)使用pymysql对数据库进行增删改查的更多相关文章
- 第二百七十七节,MySQL数据库-数据表、以及列的增删改查
MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...
- GZFramwork数据库层《二》单据表增删改查(自动生成单据号码)
运行效果: 使用代码生成器(GZCodeGenerate)生成tb_EmpLeave的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCodeGe ...
- GZFramwork数据库层《一》普通表增删改查
运行结果: 使用代码生成器(GZCodeGenerate)生成tb_MyUser的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCode ...
- python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查
python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...
- Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例
Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例 一.快速上手 1,配置文件 (1)pom包配置 pom包里面添加jpa和thymeleaf的相关包引用 ...
- MySQL数据库的权限问题操作及基本增删改查操作
前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语 ...
- IDEA对数据库、表、记录的(增删改查可视化操作)、数据库安全性问题的演示
对数据库的增删改查 新增数据库 修改数据库 删除数据库 对表的增删改查 新增表 修改表 删除表 对记录的增删改查 数据库安全性问题的演示 演示脏读 一个事物里面读到了另外一个事物没有提交的数据: ...
- (转)Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例
http://www.ityouknow.com/springboot/2017/09/23/spring-boot-jpa-thymeleaf-curd.html 这篇文章介绍如何使用 Jpa 和 ...
- Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例
这篇文章介绍如何使用 Jpa 和 Thymeleaf 做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个 Demo 来试试它的效果,越 ...
- mysql常见操作语句,建表,增删改查
用户操作 新建用户 grant 权限 on 数据库.表名 to 用户名@'访问地址' identified by "密码"; 新建一个可以远程访问数据库的用户 test, 密码:p ...
随机推荐
- AJAX请求方式
<!DOCTYPE html PUBLIC "‐//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- C# 自制报表组件 EzReportBuild 2.0
组件无闪烁.画面流畅,效率一般,支持SQL和ACCESS两种.可以完成报表设计.预览.打印等功能,提供接口函数,可以将设计.预览等嵌入到自定的winform中调用,使用简单.每份报表可设置多页,每页可 ...
- js问题: is not a function
今天遇到一个js问题,函数名和页面上的一个element的id重复了.第一次进入这个页面的时候可以点击触发事件,在第二次点击触发事件的时候就会报如下错误. js代码截图: 函数名和页面上的一个元素的i ...
- LinkedStack
public class LinkedStack<T> { private static class Node<U>{ U item; Node<U>next; N ...
- 关于iOS刷新UI需要在主线程执行
为什么一定要在主线程刷新UI? 安全+效率:因为UIKit框架不是线程安全的框架,当在多个线程进行UI操作,有可能出现资源抢夺,导致问题. 其实:在子线程是不能更新UI的, 看到能更新的结果只是个假象 ...
- why?
优点 充分利用多核CPU的计算能力: 方便进行业务拆分,提升应用性能 缺点 上下文切换 注意线程安全,避免死锁
- Vue仿string.format
Vue.prototype.$stringFormat = function stringFormat (formatted, args) { for (let i = 0; i < args. ...
- AutoMapper 忽略某个字段
以前要在定义中忽略 Mapper.CreateMap<Source, Destination>() .ForMember(dest => dest.SomeValuefff, opt ...
- MySQL加入log_bin报错
MySQL中二进制日志功能默认是关闭的,查看各种开启方式后,确定在配置文件中加入如下配置来开启该功能: [root@bogon /]# more /etc/my.cnf [mysqld] datadi ...
- APP支付(.NET版)
---恢复内容开始--- APP支付(.NET版) 一. 支付宝支付 1. 有一个支付账号,在蚂蚁金服开放平台中登录账号→选择“管理中心”→在“开发者中心”下选择“网页&移动应用”→然后按 ...