pyhton 自动化pymysql操作mysqldb数据库增删改查封装
# coding=utf-8
import pymysql
import os
import configparser
"""
/*
@:param: python version:3.7
@:param: author Chen
@:param: Date: 2019.01.19
@:param:
@env:
beta
alpha
@db_name: see_db,ec_db
*/
"""
class EnvConfig(object):
def __init__(self,env,db_name):
config_dir = os.path.split(os.path.realpath(__file__))[0]
config_path = os.path.join(config_dir, "config.ini")
config = configparser.ConfigParser()
config.read(config_path)
self.ip = config.get(env,'ip')
self.user = config.get(env,'user')
self.pwd =config.get(env,'pwd')
self.db_name = config.get(env,db_name)
self.port = int(config.get(env,'port')) """
/*
cases:
t_job=GetConnectDb("see_db","beta") */
""" class GetConnectDb(EnvConfig):
def __init__(self,env,db_name):
EnvConfig.__init__(self,env,db_name)
ip=self.ip
port=self.port
user=self.user
pwd=self.pwd
db=self.db_name
self.connect=pymysql.connect(ip,port,user,pwd,db,charset='utf8')
self.cursor=self.connect.cursor()
try:
if self.cursor:
pass
except ConnectionError as e:
print(e) """
/*
@:param: sql Usage:select * xx t_job where pipelineId='6444df4555sa55dgd';
@:param: rows type is int ,get the first rows of data
*/
"""
def disconnect_db(self):
try:
self.cursor.close()
self.connect.close()
except ConnectionAbortedError as e:
try:
self.disconnect_db()
except ConnectionAbortedError as e:
print(e)
print(e) def exe_select(self,sql,rows=None):
try:
if rows == None:
try:
self.cursor.execute(sql)
res=self.cursor.fetchall()
return res
except SyntaxError as e:
print(e)
finally:
self.disconnect_db()
else:
try:
self.cursor.execute(sql)
res=self.cursor.fetchmany(rows)
return res
except SyntaxError as e:
print(e)
finally:
self.disconnect_db()
except Exception as e:
print(e) # /*
# @:param:
# Usage:
# when is self.execute(sql) Usage:
# sql = insert into t_job(column1,column2,column3)values(a,b,c)
# array=None
# when is self.executemany(sql,array) Usage:
# sql = insert into t_job(id,user,date)values(%s,%s,%s)
# array = [(1001,"dev",'2018-11-25-11-12-43'),(1002,"test",'2018-11-25-11-12-44')]
# @:param: rows type is int ,get the first rows of data
# */ def exe_insert(self,sql,array=None):
try:
if array is None:
try:
self.cursor.execute(sql)
self.connect.commit()
except SyntaxError as e:
self.connect.rollback()
print(e)
finally:
self.disconnect_db()
else:
try:
self.cursor.executemany(sql,array)
self.connect.commit()
except SyntaxError as e:
self.connect.rollback()
print(e)
finally:
self.disconnect_db()
except Exception as e:
print(e)
"""
/*
update sql :
@:param: sql
*/
""" def update_opt(self,sql):
try:
self.cursor.execute(sql)
self.connect.commit()
except Exception as e:
self.connect.rollback()
print(e)
finally:
self.disconnect_db()
def delete_opt(self,sql):
try:
self.cursor.execute(sql)
self.connect.commit()
except SyntaxError as e:
self.connect.rollback()
print(e)
finally:
self.disconnect_db()
pyhton 自动化pymysql操作mysqldb数据库增删改查封装的更多相关文章
- Python cx_oracle自动化操作oracle数据库增删改查封装,优化返回查询数据
# coding=utf-8 import cx_Oracle import os import json os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_C ...
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...
- Asp.Net操作MySql数据库增删改查
Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git 1.安装MySQL数据库 ...
- python2.7入门---操作mysql数据库增删改查
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口.Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: G ...
- Golang原生sql操作Mysql数据库增删改查
Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用. 首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动 ...
- pymysql连接数据库,实现数据库增删改查
1.数据库连接 # 创建连接 def create_conn(): import pymysql conn = pymysql.connect( host='localhost', port=3306 ...
- Node使用Mongoose操作MongoDB数据库——增删改查的实现
当初刚出社会时就规划了下自己的职业生涯:先成为一名优秀的前端工程师,再成为一名全栈工程师(精通前端开发.后台开发和客户端开发),最后成为一名优秀的系统架构师.转眼间已经工作快三年,是时候迈出关键性的一 ...
- python3操作mysql数据库增删改查
#!/usr/bin/python3 import pymysql import types db=pymysql.connect("localhost","root&q ...
- C#学习笔记(3)——操作sqlserver数据库增删改查
说明(2017-5-25 16:29:35): 1. VS2010,视图->服务器资源管理器->数据连接->右键添加连接->服务器名(本机可以用点)->选择数据库-> ...
随机推荐
- Go按照条件编译
Go 支持按照条件编译,具体来说它是通过 go/build包 里定义的tags和命名约定来让Go的包可以管理不同平台的代码 . 我们这里以下面这个开源项目为例,来看Go的按条件编译, 这个开源项目是把 ...
- 使用Mac自带svn搭建服务器,并使用idea进行连接
一.检查Mac自带SVN版本号 二.创建代码仓库 $ mkdir -p /Users/Shared/svn/repository $ svnadmin create /Users/Shared/svn ...
- bzoj P3884 上帝与集合的正确用法
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“ ...
- 有关动态规划(主要是数位DP)的一点讨论
动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法.20世纪50年代初美国数学家在研究多阶段决策过程的优化问题时, ...
- 原型链中的prototype、__proto__和constructor的关系
先来看一张图,这张图可以说是围绕以下代码完整的描述了各对象之间的关系.接下来我们来看看如何一步步画出这张图. function Foo(){}; var foo = new Foo(); 首先,明确几 ...
- 关于修改bug的思考
作者:朱金灿 来源:http://blog.csdn.net/clever101 有软件就有bug,这意味着软件研发不仅仅是新功能开发,更要拿出相当一部分精力去修改bug.但基本很多软件开发者并 ...
- Oracle客户端安装以及PL/SQL Developer安装方法
1,安装Oracle客户端 2,配置数据库,如下: 安装路径:D:\app\ThinkPad\product\11.2.0\client_1\network\admin 建立文件:tnsnames.o ...
- OpenCV获取与设置像素点的值的几个方法
Title: OpenCV OpenCV像素值的获取与设置 Fn 1 : 使用 Mat 中对矩阵元素的地址定位的知识 (参考博文:OpenCV中对Mat里面depth,dims,channels,st ...
- C++多线程编程(教程+Demo)
下载地址:C++多线程编程(教程+Demo) Win32 SDK函数支持进行多线程的程序设计,并提供了操作系统原理中的各种同步.互斥和临界区等操作.Visual C++ 6.0中,使用MFC类库也实现 ...
- JavaScript 模块化入门
理解模块 模块打包构建 webpack牛刀小试