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局部赋值的规则
Mar 07 Python
Python多线程和队列操作实例
Jun 21 Python
python开发利器之ulipad的使用实践
Mar 16 Python
python实现用户管理系统
Jan 10 Python
使用Python做定时任务及时了解互联网动态
May 15 Python
机器学习实战之knn算法pandas
Jun 22 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
Django ORM 查询管理器源码解析
Aug 05 Python
python的pip有什么用
Jun 17 Python
python redis存入字典序列化存储教程
Jul 16 Python
python元组拆包实现方法
Feb 28 Python
Pytorch中TensorBoard及torchsummary的使用详解
May 12 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
js生成验证码并直接在前端判断
2015/05/15 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
深入解析Python中的集合类型操作符
2015/08/19 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
Python代码实现KNN算法
2017/12/20 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
python hough变换检测直线的实现方法
2019/07/12 Python
python调用支付宝支付接口流程
2019/08/15 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
ORACLE十问
2015/04/20 面试题
红领巾心向党广播稿
2014/01/19 职场文书
剪彩仪式主持词
2014/03/19 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
财政局长个人总结
2015/03/04 职场文书
郭明义观后感
2015/06/08 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android