python操作MySQL数据库(增删改查)

python基础教程:Python实现连接MySql数据库及增删改查操作详解 @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python实现连接MySql数据库及增删改查操作。分享给大家供大家参考,具体如下: 在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查。(注意是python3) 1、安装PyMySQL PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python... 阅读详情

在之前进行python操作MySQL数据库时,写了一些可通用的模板,现将代码总结如下:

为降低耦合性,我将连接数据库的内容单独建立了一个文件,取名为:config.py

代码如下:

#config.py
#!/user/local/bin/python2.7
# encoding:utf-8
#以字典形式保存数据库连接信息
conn = dict(host='127.0.0.1',port = 3306,user='root',passwd = 'xxxx',db ='xxxx',charset = 'utf8')


  • host :数据库服务器地址
  • port :端口号
  • user :用户名
  • passwd :数据库密码
  • db:数据库名
  • charset:编码格式

以下代码主要是对数据库实现基本操作的底层逻辑实现,文件取名为:dbHelper.py

import MySQLdb
#导入config.py
import config
class mySqlHelper(object):
    def __init__(self):
        #获取数据库连接信息
        self.conn = config.conn 

    #创建表
    def createTable(self,sql):
       '''
        此处连接语句也可为:
        conn = MySQLdb.connect(host='127.0.0.1',port = 3306,user='root',passwd = 'xxxx',db ='xxxx',charset = 'utf8')
        这样的话第一个文件便不需要了,但是麻烦的是每一个连接操作都需要写这麽长一行代码,显然第一种方法更简单。
        '''
        conn = MySQLdb.connect(**self.conn)
        cur=conn.cursor()
        cur.execute(sql)
        cur.close()
        conn.close()

    #查询单行 sql:为SQL语句  prames:为要传入的参数,可以为元组
    def selectOne(self,sql,prames):
        #传入的数据库链接信息是以字典的形式故而 **self.conn
        conn = MySQLdb.connect(**self.conn)
        cur = conn.cursor() 
        #将查询数据结果以字典形式呈现
        #cur = conn.cursor(cursorclass = MySQLdb)
        cur.execute(sql,prames)
        #匹配单条数据
        data = cur.fetchone()
        cur.close()
        conn.close()
        return data #返回执行sql语句得到的数据,查询一般用得到。

    #查询全部数据
    def selectall(self,sql):
        conn = MySQLdb.connect(**self.conn)
        cur = conn.cursor()
        #cur = conn.cursor(cursorclass = MySQLdb)
        cur.execute(sql)
        #data = cur.fetchmany(number)接受number条数据返回
        #featchall匹配多条数据
        data = cur.fetchall()
        cur.close()
        conn.close()
        return data

    #查询多条数据
    def selectmany(self,sql,prames,number):
        conn = MySQLdb.connect(**self.conn)
        cur = conn.cursor()
        cur.execute(sql,prames)
        #接受number条数据返回
        data = cur.fetchmany(number)
        cur.close()
        conn.close()
        return data

    #插入数据 
    def insert(self,sql,prames):
        conn = MySQLdb.connect(**self.conn)
        cur = conn.cursor()
        recount = cur.execute(sql,prames)
        conn.commit()
        cur.close()
        conn.close()
        return recount

    #插入多条数据
    def insertMany(self,sql,lis):
        conn = MySQLdb.connect(**self.conn)
        #conn.ping(True)
        cur = conn.cursor()
        #executemany一次处理多条数据
        recount = cur.executemany(sql,lis)
        conn.commit()
        cur.close()
        conn.close()
        return recount

    #删除数据
    def delete(self,sql,prames):
        conn = MySQLdb.connect(**self.conn)
        cur = conn.cursor()
        recount = cur.execute(sql,prames)
        conn.commit()
        cur.close()
        conn.close()
        return recount

    #删除全部数据
    def deleteAll(self,sql):
        conn = MySQLdb.connect(**self.conn)
        cur = conn.cursor()
        recount = cur.execute(sql)
        conn.commit()
        cur.close()
        conn.close()
        return recount

    #更新数据
    def update(self,sql,prames):
        conn = MySQLdb.connect(**self.conn)
        cur = conn.cursor()
        recount = cur.execute(sql,prames)
        conn.commit()
        cur.close()
        conn.close()
        return recount        

以下是功能实现的代码,新建一个文件:v9_python.py

因为我要操作的表名为v9_python,这样方便明白这是哪张表的操作。当然也可自定义。

#!/user/local/bin/python2.7
#encoding:utf-8
#导入 dbHelper 中的类 mySqlHelper
from dbHelper import mySqlHelper

#对表v9_python进行操作
class v9_python(object):
    def __init__(self):
        #实例化 mySqlHelper()
        self.__table = mySqlHelper()

    #单行查询
    def selectOneFromV9(self,newid):
        #注意在数据库操作时无 %d ,全部字段都用%s来匹配,无论哪种数据类型。
        sql = 'select * from v9_python where id=%s'
        prames = (newid,)
        return self.__table.selectOne(sql, prames)

    #从指定id开始查询Number条数据
    def selectFromV9ForNumber(self,id,number):
        sql = 'select * from v9_python where id limit %s,%s'
        prames = (id,number,)
        return self.__table.selectmany(sql, prames)

    #全部查询
    def selectAllFromV9(self):
        sql = 'select * from v9_python'
        return self.__table.selectall(sql)


    #插入单行数据       
    def insertDataToV9(self,id,catid,typeid,title):
        sql = 'insert into v9_python(id,catid,typeid,title) values(%s,%s,%s,%s)'
        prames = (id,catid,typeid,title,)
        return self.__table.insert(sql, prames)

    #插入多条数据,可避免数据库多次打开关闭。 
    '''
    lis为一个数据列表,形式如:
    lis = [[id,catid,typeid,title],[id2,catid2,typeid2,title2]]
    '''
    def insertManyDataToV9(self,lis):
        sql = 'insert into v9_python(id,catid,typeid,title) values(%s,%s,%s,%s)'
        return self.__table.insertMany(sql, lis)


    #删除数据
    def deleteFromV9(self,news_id):
        sql = 'delete from v9_python where id=%s'
        prames = (news_id,)
        return self.__table.delete(sql, prames)

    #删除全部
    def deleteAllFromV9(self):
        sql = 'delete from v9_python'
        return self.__table.deleteAll(sql)

    #更改数据
    def updateV9_python(self,title,id):
        sql = 'update v9_python set title= %s where id = %s'
        prames = (title,id,)
        return self.__table.update(sql, prames)

以上还有改进及完善之处,请大家不吝赐教。

python操作mysql实现增删改查(包括单条新增,多条新增,批量新增等,全网最详细) 下载mysql与navicat(可参考这两个文章) 阅读详情

相关推荐

Kali Linux实战:Aircrack-ng破解Wi-Fi密码的完整流程与常见问题解决

本文详细介绍了在Kali Linux中使用Aircrack-ng套件进行Wi-Fi密码破解的完整流程,包括环境准备、无线网卡配置、网络扫描、握手包捕获与字典破解等关键步骤。同时针对无线网卡不支持监听模式、无法捕获握手包等常见问题提供了实用解决方案,帮助安全研究人员有效评估无线网络安全性。

weixin_29323049的博客 297

Python连接数据库、实现增删改查

插入(insert)数据(update、delete是一模一样,只需要更改SQL语句即可)然后再执行内存里面之前执行成功的SQL。2、事务回滚(连接对象.rollback())1、事务提交(连接对象.commit())1、关系型数据库:MySQL、SQL server 、ora、DB2。六、打开pycharm,创建一个Python.file 文件。非查询:insert、update、delete。2、非关系型数据库:Redis、MongoDB。二、Python操作数据库。2、查询数据并获取结果。

shemin5349的博客 2068

浏览器缓存导致代码不更新?一招解决部署后用户仍看到旧页面的问题

方案效果适用场景文件名哈希永久解决前端工程化项目HTTP缓存头控制精准控制需服务器权限Meta标签部分生效临时补救方案最佳实践:入口HTML禁用缓存,静态资源使用哈希文件名 + 长期缓存,达到「秒级更新」+「高性能」的平衡!

江拥羡橙的博客 810

python连接数据库进行增删改查操作

python操作数据库(连库,增删改查)

weixin_45646026的博客 3813

C++软件调试与异常排查从入门到精通专栏介绍与文章汇总

根据近几年排查软件异常的实践与经验,系统地讲解了C++软件异常常见原因与常用排查方法,以图文并茂的方式给出具体的分析实例,带领大家逐步掌握C++软件异常排查的相关技术与要领。

dvlinker的技术专栏 23万+

二、Windows安装Docker到非C盘的全新教程(Windows版)

Windows安装Docker到非C盘的全新教程(Windows版)

funfan的博客 4万+

【python教程】保姆版教使用pymysql模块连接MySQL实现增删改查

文章目录🌈前言 🌈前言 MySQL 是最流行的数据库之一,MySQL 是目前世界上最流行的开源关系数据库,大多应用于互联网行业。比如,在国内,大家所熟知的百度、腾讯、淘宝、京东、网易、新浪等,国外的 Google、Facebook、Twitter、GitHub 等都在使用 MySQL。社交、电商、游戏的核心存储往往也是 MySQL, 本文就简单的介绍python操作MySQL基础内容。 ...

flyskymood的博客 9890

UCIE Specification详解(八)

Logical Physical Layer(逻辑物理层)

Crazzy_M的博客 1608

Python之数据库操作(连接数据库,增删改查操作,易错点理解)

记录:Python操作数据库的步骤,不容易理解的地方。

weixin_45272371的博客 1653

yolov26改进 | 融合改进篇 | 基于 MobileNetV4 和双向特征金字塔网络BiFPN的融合改进(全网独家首发)

本文介绍BiFPN与MobileNetV4融合改进的YOLOv26。许多模块单独使用能够涨点,但直接叠加后可能因功能重复、通道不匹配、尺度冲突而掉点,因此融合前必须理解各模块作用。MobileNetV4利用UIB与Mobile MQA构建轻量主干,提升特征提取能力;BiFPN通过可学习权重完成双向多尺度融合,强化大、中、小目标的信息交互。两者优化Backbone与Neck,功能互补、结构冲突较少。本文提供代码、配置、消融对比及Codex修改思路,MobileNetV4也可替换其他主干,便于组合实验与二次创新

Snu77的博客 241

TensorRT - 使用自定义层扩展 TensorRT

TensorRT 支持通过自定义插件扩展功能。开发者可以基于 IPluginV3 接口实现插件类,并通过 IPluginCreatorV3One 创建器类注册到 TensorRT 插件注册表。插件实现需要包含核心、构建和运行时三种能力,并通过静态或动态方式注册。最后可使用 addPluginV3() 将插件实例添加到 TensorRT 网络中。这种方法允许在标准层不满足需求时,使用自定义层扩展模型功能。

1148

Python操作mysql数据库(封装基本的增删改查)

新学Python,在这里分享操作MySQL的全过程 1、安装MySQL-python-1.2.3.win-amd64-py2.7.exe,这是操作mysql数据库的python库,有32位和64位之分,看自机器下载 2、64位机器安装MySQL-python-1.2.3.win-amd64-py2.7.exe出现 which was not found the regidtry,请点这

把握自己。 1万+

05 Transformer 到底解决了什么问题

Transformer 是现代大语言模型的底层骨架。本文不推公式,而是从 CNN、RNN/LSTM 的瓶颈讲起,解释 Transformer 如何通过自注意力同时解决长距离依赖和并行训练问题,并说明它为什么能支撑 GPT、BERT 和现代大模型的规模化。

老于的笔记的专栏 247

python3连接MySQL数据库,并执行数据库的基本增删改查操作

本篇为python连接数据库的详细说明,如果继续用python连接数据库,请看这篇模板文章python3连接MySQL数据库模板 python3连接MySQL数据库我们需要安装pymysql pip install pymysql 安装好后直接import pymysql就可以导入第三方库 连接数据库 conn = pymysql.connect( host="localhost", # 指...

weixin_44415928的博客 1805

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python操作MySQL数据库完成简易的增删改查功能

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的小程序,对于python操作数据库不太会的同学,很值得学习参考 通过python与mysql数据库的交互来模拟京东商城,代码逻辑就是对商品进行添加,修改,查询,以及删除操作,非常简...

cdtaogang's blog 6万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python-操作mysql数据库(增删改查)

res = cursor.executemany( sql , [ ("安","晓东",0,18,30000) , ("刘","玉波",1,20,50000) ,("张","光旭",0,80,60000) , ("李","是元",0,10,10) , ("高","大奥",1,20,80000) ] ){'id': 9, 'first_name': '王', 'last_name': '是元', 'sex': 0, 'age': 10, 'money': 10.0},rollback"""

hdh1324的博客 801

python操作mysql数据库增删改查的dbutils实例

python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引号,一定要用双引号 USER_FILE='users.json' # mysql数据库连接信息 MYSQL_HOST = '192.168.3.91' MYSQ...

reblue520的专栏 391

python操作数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

1.安装pymysql进入cmd,输入 pip install pymysql:2.数据库建表在数据库中,建立一个简单的表,如图:3.简单操作3.1查询操作#coding=utf-8#连接数据库测试import pymysql#打开数据库db = pymysql.connect(host="localhost",user="root",password="root",db="test")#使用cu...

weixin_39895995的博客 121

python3(pycharm)连接mysql数据库(navicat),实现数据库的“增删改查“操作

python3(pycharm)连接mysql数据库(navicat),实现数据库的"增删改查"操作 pycharm配置 在pycharm中,首先要添加pymysql包。 navicat配置 连接本地的mysql数据库,创建users数据库,创建webscans_users数据表,并添加相应数据。 初始的数据库表: 增加 import pymysql conn = pymysql.con...

weixin_43996007的博客 1万+

python操作mysql的增删改查_Python实现连接MySql数据库及增删改查操作详解

本文实例讲述了Python实现连接MySql数据库及增删改查操作。分享给大家供大家参考,具体如下:在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查。(注意是python3)1、安装PyMySQLPyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API...

weixin_39624700的博客 208

python操作Oracle、PostgreSQL,MySql数据库增删改查

python操作Oracle、PostgreSQL,MySql数据库增删改查

weixin_43403390的博客 752

python操作mysql数据库实现增删改查

python操作mysql数据库实现增删改查 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 你可以访问Python数据库接口及API查...

古月哲亭 989

python实现增删改查_Python实现连接MySql数据库及增删改查操作详解

本文实例讲述了Python实现连接MySql数据库及增删改查操作。分享给大家供大家参考,具体如下:在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查。(注意是python3)1、安装PyMySQLPyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Pyth...

weixin_39574287的博客 547

python之连接mysql数据库实现增删改查操作

准备工作 安装好了python 安装好了pycharm,你安装其他的软件也可以,只要能跑,我安装的是pycharm 整体流程 安装pymysql 在命令窗口中输入 pip install pymysql 连接数据库 connect的参数 user:就是你的用户名,默认是root password:就是你的密码 host:写到这里我才发现我不知道这东西叫做什么,默认是localhost database:你要连接的数据库的名称,可以不写,不写就是None port:端口号,默认是3306 impo

qq_45418837的博客 3064

python操作mysql数据库和sqlserver数据库的增删改查

以上代码仅供参考,具体的操作方式可能会因库的版本、数据库的配置等而有所不同。请根据实际情况进行调整。Python可以使用多种库来操作MySQL和SQL Server数据库,比较常用的是。这里我将给出三个例子,分别展示如何使用这两种库进行基本的增删改查操作。

活到老学到老 831

Python之MySQL数据库增删改查操作

标题Python之MySQL数据库增删改查操作 Python之MySQL数据库操作 Python之连接数据库 import pymysql #获取连接对象conn,建立数据库的连接 def get_conn(): conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test1') # db:表示数据库名称 return conn Python之插入操作 import pymy

weixin_43815222的博客 435
上一篇: python报错:local variable 'xxxx' referenced before assignment
下一篇: python yield详解
FanWinter
博客等级 码龄9年 24粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值