Python Sql数据库增删改查操作简单封装


Posted in Python onApril 18, 2016

本文实例为大家分享了如何利用Python对数据库的增删改查进行简单的封装,供大家参考,具体内容如下

1.insert    

import mysql.connector
import os
import codecs
#设置数据库用户名和密码
user='root';#用户名
pwd='root';#密码
host='localhost';#ip地址
db='mysql';#所要操作数据库名字
charset='UTF-8'
cnx = mysql.connector.connect(user=user,password=pwd, host=host, database=db)
#设置游标
cursor = cnx.cursor(dictionary=True)
#插入数据
#print(insert('gelixi_help_type',{'type_name':'\'sddfdsfs\'','type_sort':'283'}))
def insert(table_name,insert_dict):
  param='';
  value='';
  if(isinstance(insert_dict,dict)):
    for key in insert_dict.keys():
      param=param+key+","
      value=value+insert_dict[key]+','
    param=param[:-1]
    value=value[:-1]
  sql="insert into %s (%s) values(%s)"%(table_name,param,value)
  cursor.execute(sql)
  id=cursor.lastrowid
  cnx.commit()
  return id

2.delete    

def delete(table_name,where=''):
  if(where!=''):
    str='where'
    for key_value in where.keys():
      value=where[key_value]
      str=str+' '+key_value+'='+value+' '+'and'
    where=str[:-3]
    sql="delete from %s %s"%(table_name,where)
    cursor.execute(sql)
    cnx.commit()

3.select    

#取得数据库信息
# print(select({'table':'gelixi_help_type','where':{'help_show': '1'}},'type_name,type_id'))
def select(param,fields='*'):
  table=param['table']
  if('where' in param):
    thewhere=param['where']
    if(isinstance (thewhere,dict)):
      keys=thewhere.keys()
      str='where';
      for key_value in keys:
        value=thewhere[key_value]
        str=str+' '+key_value+'='+value+' '+'and'
      where=str[:-3]
  else:
    where=''
  sql="select %s from %s %s"%(fields,table,where)
  cursor.execute(sql)
  result=cursor.fetchall()
  return result

4.showtable,showcolumns    

#显示建表语句
#table string 表名
#return string 建表语句
def showCreateTable(table):
  sql='show create table %s'%(table)
  cursor.execute(sql)
  result=cursor.fetchall()[0]
  return result['Create Table']
#print(showCreateTable('gelixi_admin'))
#显示表结构语句
def showColumns(table):
  sql='show columns from %s '%(table)
  print(sql)
  cursor.execute(sql)
  result=cursor.fetchall()
  dict1={}
  for info in result:
    dict1[info['Field']]=info
  return dict1

以上就是Python Sql数据库增删改查操作的相关操作,希望对大家的学习有所帮助。

Python 相关文章推荐
Python中使用PIL库实现图片高斯模糊实例
Feb 08 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
Python 判断是否为质数或素数的实例
Oct 30 Python
python实现手机通讯录搜索功能
Feb 22 Python
python抓取文件夹的所有文件
Feb 27 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
python实现一个简单的ping工具方法
Jan 31 Python
详解python中的线程与线程池
May 10 Python
Python使用xpath实现图片爬取
Sep 16 Python
python Paramiko使用示例
Sep 21 Python
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 #Python
python UNIX_TIMESTAMP时间处理方法分析
Apr 18 #Python
python动态加载包的方法小结
Apr 18 #Python
python实现按行切分文本文件的方法
Apr 18 #Python
Python获取linux主机ip的简单实现方法
Apr 18 #Python
Python实现递归遍历文件夹并删除文件
Apr 18 #Python
Python简单实现TCP包发送十六进制数据的方法
Apr 16 #Python
You might like
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
jquery实现手风琴效果实例代码
2013/11/15 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
外语专业毕业生自我评价分享
2013/10/05 职场文书
数控专业个人求职信范例
2013/11/29 职场文书
应届毕业生应聘自荐信范文
2014/02/26 职场文书
环保倡议书
2014/04/14 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
十佳党员事迹材料
2014/08/28 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
2015入党自传格式范文
2015/06/26 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技