Python Sql数据库增删改查操作简单封装
作者:mrmusic 发布时间:2024-01-22 14:47:37
标签:Python,Sql,数据库,增删改查
本文实例为大家分享了如何利用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


猜你喜欢
- #写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流。只做技术交流、、、、、
- 背景golang版本:1.16之前遇到的问题,docker启动时禁用了oom-kill(kill后服务受损太大),导致golang内存使用接
- 实现思路很多网站都有拼图验证码1.首先要了解拼图验证码的生成原理2.制定破解计划,考虑其可能性和成功率。3.编写脚本很多网站的拼图验证码都是
- 1、创建Django项目打开pycharm,新建Django项目,可以选择一个虚拟环境建完之后目录如下:2、创建应用,我这里命名为demo在
- 在网络上的Pandas教程中,很多都提到了如何使用Pandas将已有的数据(如csv,如hdfs等)直接加载成Pandas数据对象,然后在其
- Redis持久化机制实现原理是什么?流程是什么?持久化就是把内存中的数据存放到磁盘中,防止宕机后内存数据丢失。按照指定的时间间隔内将内存的数
- 本文实例讲述了Python切片操作。分享给大家供大家参考,具体如下:我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索
- 方法import pandas as pdimport numpy as npimport seaborn as snsdf = pd.Da
- 本文实例讲述了Python生成rsa密钥对操作。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-import
- 这段时间告诉项目需要,用到了vue。刚开始搭框架的时候用的是vue-resource后面看到官方推荐axios就换过来了 顺便封装了一下 /
- 1、开启Mysql慢查询1.1、查看慢查询相关配置show variables like 'slow_query_log%'
- 今天知数堂一个学生反馈说在优化课中老师讲Innodb是以主键排序存储,读取的时间以主键为顺序读取,但发现个例外,如下:CREATE TABL
- 决策树是一种将数据集通过分割成小的、易于处理的子集来进行分类或回归的算法。其中每个节点代表一个用于划分数据的特征,每个叶子节点代表一个类别或
- 1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子 2.truncate只能一次清空,不能
- 本文主要参考:http://element.eleme.io/#/zh-CN/component/menu在使用elementUI的时候发现
- 小编想把用python将列表[1,1,1,1,1,1,1,1,1,1] 和 列表 [2,2,2,2,2,2,2,2,2,2]对应相加成[3,
- 一. 概述首先需要先介绍一下无监督学习,所谓无监督学习,就是训练样本中的标记信息是位置的,目标是通过对无标记训练样本的学习来揭示数据的内在性
- 本文实例讲述了Python3实现并发检验代理池地址的方法。分享给大家供大家参考,具体如下:#encoding=utf-8#author: w
- 本文实例为大家分享了python SMTP发送带附件电子邮件的具体代码,供大家参考,具体内容如下可采用email模块发送电子邮件附件。发送一
- vue配置文件vue.config.js配置前端代理将此代码片段命名为 vue.config.js,放在项目根目录即可仅需修改target属