【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 ...
随机推荐
- 【bzoj3687】【简单题】bitset
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=64333782 这次的图是自己画的,方便的话点个赞 ...
- [POI2013]Tower Defense Game
题目大意: 一个$n(n\le5\times10^5)$个点$m(m\le10^6)$条边的无向图,边权全为$1$,满足若一个标记点能覆盖与其距离不超过$1$的点,从中选取不超过$k$个点能将整张图覆 ...
- Android简单文件浏览器源代码 (转)
Android简单文件浏览器源代码 (转) activity_main .xml <LinearLayout xmlns:android="http://schemas.android ...
- appium Parameters were incorrect
raise exception_class(value) selenium.common.exceptions.WebDriverException: Message: Parameters were ...
- 由jtable浅谈vector<vector<Object>>的用法(转自a718515028的专栏)
以前只用过vector<Object> ,但是在做从数据库导出数据放到jtable中时,发现还有个vector<vector<Object>>的用法. 先说jta ...
- 利用Python,四步掌握机器学习
为了理解和应用机器学习技术,你需要学习 Python 或者 R.这两者都是与 C.Java.PHP 相类似的编程语言.但是,因为 Python 与 R 都比较年轻,而且更加“远离”CPU,所以它们显得 ...
- ES,ZK,Mysql相关参数优化
1.ES 内存调优: vi config/jvm.options -Xms16g -Xmx16g 2.Zookeeper参数配置调优 2.1\在conf目录下 vi java.env export J ...
- 倍福TwinCAT(贝福Beckhoff)基础教程 松下驱动器试运行提示过速度保护怎么办
在试运行的时候,取消勾选自动设定,然后可以自己设置过速度等级设置和过载等级设置 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaoh ...
- node - 写返回mime类型
何为mime类型? mime.json { ".323":"text/h323" , ".3gp":"video/3gpp&qu ...
- axios 处理并发请求
//同时发起多个请求时的处理 axios.all([get1(), get2()]) .then(axios.spread(function (res1, res2) { // 只有两个请求都完成才会 ...