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实现360的字符显示界面
Feb 21 Python
在Python中用keys()方法返回字典键的教程
May 21 Python
简述Python中的进程、线程、协程
Mar 18 Python
Python连接phoenix的方法示例
Sep 29 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
python多进程控制学习小结
Oct 31 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
python实现画出e指数函数的图像
Nov 21 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
Python基础教程之输入输出和运算符
Jul 26 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
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
Javascript浅谈之this
2013/12/17 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
express 项目分层实践详解
2018/12/10 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
Vue.js实现备忘录功能
2019/06/26 Javascript
python正则表达式抓取成语网站
2013/11/20 Python
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python中的json总结
2018/10/11 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
什么是方法的重载
2013/06/24 面试题
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
高中生自我鉴定范文
2013/10/30 职场文书
中专生自我鉴定范文
2013/12/19 职场文书
婚礼证婚人证婚词
2014/01/13 职场文书
《童年》教学反思
2014/02/18 职场文书
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python