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,视图->服务器资源管理器->数据连接->右键添加连接->服务器名(本机可以用点)->选择数据库-> ...
随机推荐
- 【hdu 2112】 HDU Today ( 最短路 Dijkstra)(map)
http://acm.hdu.edu.cn/showproblem.php?pid=2112 这道题给了一个将字符串与int对应的思路,就是使用map 这道题答案对了,但是没有AC,我也不知道为什么. ...
- [HAOI2009]逆序对数列(加强)
ZJL 的妹子序列 暴力就是 \(\Theta(n\times m)\) 如果 \(n,m \le 10^5\) ? 考虑问题的转换,设 \(a_i\) 表示 \(i\) 小的在它后面的数的个数 \( ...
- 002Conditional条件化创建bean
01.条件化配置bean @Bean @Conditional(MagicExistsCondition.class)---->条件化创建bean public MagicBean magicB ...
- js如何获取response header信息
信息转自网上 普通的请求JS无法获取,只有ajax请求才能获取到. $.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location. ...
- LeetCode算法题5----Longest Palindromic Substring
#5. Longest Palindromic Substring Given a string S, find the longest palindromic substring in S. You ...
- HiJson工具 && 火狐浏览器中的jsonHandle插件(以及乱码问题的解决)-->来转换json串的格式
原文:http://blog.csdn.net/cjm2484836553/article/details/72453907 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] ...
- PHP两种实现无级递归分类的方法
/** * 无级递归分类 TP框架 * @param int $assortPid 要查询分类的父级id * @param mixed $tag 上下级分类之间的分隔符 * @return strin ...
- vue3.0端口号修改
module.exports = { // 基本路径 baseUrl: '/', // 输出文件目录 outputDir: 'dist', // 生产环境是否生成 sourceMap 文件 produ ...
- Windows下部署ElasticSearch5.0以下版本
Windows下部署ElasticSearch分ElasticSearch5.0以上版本(包括5.0)和ElasticSearch5.0以下版本两种情况,这两种安装方式有很大不同.今天首先说Elast ...
- 从零开始——JSON ARRAY&JSON OBJECT
在学习“基于角色的权限”的例子中,遇到了json object和json array,因此在一番学习之后对此要点进行粗略整理. 参考: https://my.oschina.net/u/2601842 ...