【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作
用pip下载pymysql并引用
具体请参考文章:
《python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作》*
废话不多说,上代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/09/21 09:20
# @Author : zc
# @File : PyMysql.py import pymysql
from datetime import date,datetime,timedelta def connectMysql():
'''connectMysql
连接Mysql数据库
:return: db
'''
# 连接配置信息
config = {
'db' : "ET", # 数据库
'host' : "localhost", # 主机
'port' : 3306, # 端口
'user' : "root", # 用户名
'password' : "" # 密码
} # 创建连接
db = pymysql.connect(**config)
# 返回数据库
return db def selectTable(sql):
'''
# 1.查询操作
:return:查询表et01数据
'''
# 获取操作游标
cur = connectMysql().cursor()
try:
cur.execute(sql) # 执行sql语句
results = cur.fetchall() # 获取查询的所有记录
print("id","name","age","date")
# 遍历结果
for row in results:
et_id = row[0]
et_name = row[1]
et_age = row[2]
et_date = row[3]
# if 0 < et_id < 10:
# print("et_id:" + "0" + str(et_id),
# "et_name:" + et_name,
# "et_age:" + str(et_age),
# "et_date:" + str(et_date))
# else:
# print("et_id:" + str(et_id),
# "et_name:" + et_name,
# "et_age:" + str(et_age),
# "et_date:" + str(et_date))
print("et_id:" + str(et_id),
"et_name:" + et_name,
"et_age:" + str(et_age),
"et_date:" + str(et_date))
except Exception as e:
raise e
print("raise后,会不会执行!") finally:
connectMysql().close() # 关闭连接 def publicMethods(sql,args):
'''
# 2.增、删、改操作
:return:
'''
# 获取操作游标
db = connectMysql()
cur = db.cursor() try:
cur.executemany(sql,args)
# cur.execute(sql, ('zc02', 23, date(2018,9,22))) # 另一种时间写法
#插入多条数据
# cur.executemany(sql, [("tom", "123"), ("alex", '321')])
# 提交
db.commit()
except:
# 错误回滚
connectMysql().rollback()
finally:
cur.close()
connectMysql().close() if __name__ == '__main__':
#1、查询数据库;2、插入数据;3、更新数据;4、删除数据;
num = 1
if num == 1:
# 编写sql查询语句,对应我的表名:et01
sql = "select * from et01;"
selectTable(sql)
elif num == 2:
# 获取明天的时间
tomorrow = datetime.now().date() + timedelta(days=1)
# 插入语句
insert_sql = "insert into et01(et_name,et_age,et_date) values(%s,%s,%s)"
publicMethods(insert_sql,[('zc02',23,tomorrow)])
elif num == 3:
#更新语句
update_sql = "update et01 set et_name = %s where et_id = %s;"
publicMethods(update_sql,[('et01',1)])
elif num == 4:
#删除语句
delete_sql = "delete from et01 where et_id = %s;"
publicMethods(delete_sql,[(3)])
【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作的更多相关文章
- 48.Python中ORM模型实现mysql数据库基本的增删改查操作
首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...
- java连接mysql数据库 三 实现增删改查操作
同以前一样,先写一个数据库打开和关闭操作类 public class DBConnection { String driver = "com.mysql.jdbc.Driver"; ...
- .net 连接SqlServer数据库及基本增删改查
一.写在前面 因为这学期选修的 .net 课程就要上机考试了,所以总结下.net 操作 SqlServer 数据的方法.(因为本人方向是 Java,所以对.net 的了解不多,但以下所写代码均是经过测 ...
- 封装MySQL的单例,连接数据库并对数据进行增删改查操作
单例: 一个类只能有一个对象 应用场景:多次请求数据库只需要一个连接对象. 实现:三私一公 1.私有的静态属性用来保存对象的单例2.私有的构造方法用来阻止在类的外部实例化3.私有的__clone阻止在 ...
- MYSQL学习笔记 (二)对数据库结构的增删改查
显示数据库 show databases; 选择数据库 use database;//其实database为数据库的名字 创建表 create table tbclass( id int not nu ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- python web.py操作mysql数据库,实现对数据库的增删改查操作
使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...
- 通过jdbc连接MySql数据库的增删改查操作
一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...
随机推荐
- centos忘记密码,重新设置密码的方法
(1)重新启动Centos,在启动过程中,长按“ESC”键,进入GNU GRUB界面. (2)选择要进入的系统,按“E”键(在启动之前编辑命令). (3)选择第二项操作系统的内核“kernel”,按& ...
- Map泛型集合-显示企鹅信息
package collection; /** * 宠物类 * @author * */ public class Pet { private String name; private String ...
- 每天一个linux命令8之grep高级篇
1语法 grep -[acinv] '搜索内容串' filename -a 以文本文件方式搜索-c 计算找到的符合行的次数-i 忽略大小写-n 顺便输出行号-v 反向选择,即找 没有搜索字 ...
- IO模型同步与异步阻塞与非阻塞的区别
同步异步的区别 关注点:同步和异步关注的是消息通信机制 同步:所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回.但是一旦调用返回,就得到返回值了.换句话说,就是由*调用者*主 ...
- 【MySQL】undo,redo,2PC,恢复思维导图
http://blog.itpub.net/22664653/viewspace-2131353/
- Visio中插入公式
也可以直接插入MathType公式,我原来的word不显示MathType,现在显示了,不过插入后太小,那是因为字体小,拖动托大就行. 在word中插入-对象-公式3.0对象(安装MathType后, ...
- linux之ssh无密码访问
1. windows下用putty执行ssh连接vmware中的linux虚拟机 linux虚拟机的网络选择bridge模式,ifconfig 看到ip后与windows local machine之 ...
- python 常用的模块(hashlib)转
摘要算法简介 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串( ...
- Loadrunner 工作原理图
1.LoadRunner的总体架构图,从图中可以看出组件VUGen, Controller和Analysis之间的关系. 2.LoadRunner的工作原理,从图中可以看出如何利用LoadRunner ...
- 排查 “Detected Tx Unit Hang”问题
实现功能: 使用自己已经分配的内存让skb->data指向,而不是使用alloc_malloc(). 部分代码如下: /* * build a new sk_buff */ //struct s ...