【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 ...
随机推荐
- 【bzoj1085】【 [SCOI2005]骑士精神】启发式剪枝+迭代加深搜索
(上不了p站我要死了,侵权度娘背锅) 如果这就是启发式搜索的话,那启发式搜索也不是什么高级玩意嘛..(啪啪打脸) Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且 ...
- DQL数据查询语言——连接查询
--内连接 两种写法 等值连接select r.*,b.bummc from t_hq_ryxx r, t_hq_bm b where r.bumbm = b.bumbm select r.*,b.b ...
- Python学习笔记——条件控制
Python中的条件控制方式基本和C语言类似,主要有如下几种语法: If条件判断 Python的条件语句的语法是if…elseif…else,如下的一个简单的猜数字的示例演示了这一过程: number ...
- 详细解析ASP.NET中Request接收参数乱码原理
起因:今天早上被同事问了一个问题:说接收到的参数是乱码,让我帮着解决一下. 实际情景: 同事负责的平台是Ext.js框架搭建的,web.config配置文件里配置了全局为“GB2312”编码: < ...
- 使用size()方法输出列表中的元素数量。需要注意的是,这个方法返回的值可能不是真实的,尤其当有线程在添加数据或者移除数据时,这个方法需要遍历整个列表来计算元素数量,而遍历过的数据可能已经改变。仅当没有任何线程修改列表时,才能保证返回的结果是准确的。
使用size()方法输出列表中的元素数量.需要注意的是,这个方法返回的值可能不是真实的,尤其当有线程在添加数据或者移除数据时,这个方法需要遍历整个列表来计算元素数量,而遍历过的数据可能已经改变.仅当没 ...
- 设计模式之工厂模式之抽象工厂(php实现)
github地址: git@github.com:ZQCard/design_pattern.git 抽象工厂模式: 先来认识下什么是产品族: 位于不同产品等级结构中,功能相关联的产品组成的家族.图中 ...
- 十步完全理解 SQL
很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言) ...
- tensorflow seq2seq.py接口实例
以简单英文问答问题为例测试tensorflow1.4 tf.contrib.legacy_seq2seq中seq2seq文件的几个seq2seq接口 github:https://github.com ...
- JStorm文档
Jstorm的性能测试 JStorm 大概是Apache Storm 4倍, Apache Flink 1.5 倍, Twitter Heron 2 ~ 10 倍 Jstorm是一个分布式实时计算引擎 ...
- dmz主机就是DNAT功能的体现
端口映射和DMZ是提供内网和外网映射的,具体各自如下:DMZ:就相当于DNAT(Destination NAT),只对目的IP地址做地址转换.也就是说,收到目的IP为自己WAN口的包,统统转发给内网的 ...