用pip下载pymysql并引用

具体请参考文章:

《Python之MySQL数据库增删改查操作》

《python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作》*

《Python3利用pymysql操作 MySQL》

《Python之pymysql的使用》*

《python(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数据库并进行增删改查操作的更多相关文章

  1. 48.Python中ORM模型实现mysql数据库基本的增删改查操作

    首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...

  2. java连接mysql数据库 三 实现增删改查操作

    同以前一样,先写一个数据库打开和关闭操作类 public class DBConnection { String driver = "com.mysql.jdbc.Driver"; ...

  3. .net 连接SqlServer数据库及基本增删改查

    一.写在前面 因为这学期选修的 .net 课程就要上机考试了,所以总结下.net 操作 SqlServer 数据的方法.(因为本人方向是 Java,所以对.net 的了解不多,但以下所写代码均是经过测 ...

  4. 封装MySQL的单例,连接数据库并对数据进行增删改查操作

    单例: 一个类只能有一个对象 应用场景:多次请求数据库只需要一个连接对象. 实现:三私一公 1.私有的静态属性用来保存对象的单例2.私有的构造方法用来阻止在类的外部实例化3.私有的__clone阻止在 ...

  5. MYSQL学习笔记 (二)对数据库结构的增删改查

    显示数据库 show databases; 选择数据库 use database;//其实database为数据库的名字 创建表 create table tbclass( id int not nu ...

  6. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  7. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  8. python web.py操作mysql数据库,实现对数据库的增删改查操作

    使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...

  9. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

随机推荐

  1. OC语言基础之函数与方法

    方法 1.对象方法都是以减号 - 2.对象方法的声明必须写在@interface和@end之间    对象方法的实现必须写在@implementation和@end之间 3.对象方法只能由对象来调用 ...

  2. Winform打砖块游戏制作step by step第4节---小球移动

    一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 预备知识,无GDI画图基础的童鞋请先阅读一篇文章让你彻底弄懂WinFor ...

  3. Assembly.Load动态加载程序集而不占用文件 z

    方式一:占用文件的加载 Assembly assembly = Assembly.Load(path); 用上面的方法可以动态的加载到dll,但是用这种方法加载到的dll一直到程序运行结束都是占用的d ...

  4. UVa11988 Broken Keyboard(练习链表使用)

    向量和数组的优势是可以随机的存取元素和在末尾添加删除元素,而当插入元素时,需要移动大量的数据,消耗大量的时间.而链表的优势是可以在O(1)删除和插入数据.所以在频繁移动元素时,可以使用链表. 分析:如 ...

  5. selenium控制浏览器为手机模式

    # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep mobileEmulation = {'de ...

  6. C语言中不同类型的数据转换规则

    不同类型数据间的混合运算与类型转换 1.自动类型转换 在C语言中,自动类型转换遵循以下规则: ①若参与运算量的类型不同,则先转换成同一类型,然后进行运算 ②转换按数据长度增加的方向进行,以保证精度不降 ...

  7. [转载] K3 K3c 最简单无损开壳方法

    只用一把螺丝刀就行了,其它什么撬棒  信用卡  撬片等 拆机工具一概不用.拆了5台,只有一台断了一个扣口. 1. 把底部4个螺丝拿掉.2.把路由如图放在桌子上,路由平行于身体,注意是立着放 使路由与桌 ...

  8. Elasticsearch 之 query与filter区别

    转载: http://xiaorui.cc/category/elasticsearch/ http://blog.csdn.net/asia_kobe/article/details/5056301 ...

  9. dom元素父子容器互相调用控制

    在html中普通的父容器调用子容器中的方法十分简单 因为这两个容器的所有方法和属性都在同一个dom模型中 可以直接控制和使用 但是如果子容器中是一个iframe标签又是怎样的情况? iframe请求另 ...

  10. zabbix web监测

    web monitoring(监测)属于业务监控,用来监控Web站点多方面的可用性,可以监控Web站点的下载速度.返回码和响应时间.Zabbix能够检测HTML中包含的预先定义的字符串,也可以模拟登录 ...