python操作mysql实现增删改查(包括单条新增,多条新增,批量新增等,全网最详细)

这篇具有很好参考价值的文章主要介绍了python操作mysql实现增删改查(包括单条新增,多条新增,批量新增等,全网最详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载mysql与navicat(可参考这两个文章)

MySQL安装教程,windows下(超详细,根据步骤一步步来)-CSDN博客

navicat连接mysql(windows下)-CSDN博客

一.数据准备

1.选中服务器右键--新建数据库

pymysql增删改查,mysql,python,mysql,数据库,python

pymysql增删改查,mysql,python,mysql,数据库,python

pymysql增删改查,mysql,python,mysql,数据库,python

sql运行指令,可查看资源,如有需要可在资源中自行下载(并且会详细注明字段的含义)

2.查看创建的class表

pymysql增删改查,mysql,python,mysql,数据库,python

二.连接数据库

1.pycharm创建新项目

pymysql增删改查,mysql,python,mysql,数据库,python

2.连接数据库(前提:安装pymysql模块,pip install pymysql)

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
if __name__ == '__main__':
    search_sql()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:pymysql增删改查,mysql,python,mysql,数据库,python

三.增加数据

1.单条

再原来的代码基础上,新增insert_sql()函数

pymysql增删改查,mysql,python,mysql,数据库,python

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
#创建新增sql语句的函数-单条数据
def insert_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.execute(sql,('1','1年级','1'))
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
if __name__ == '__main__':
    #search_sql()
    insert_sql()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:

pymysql增删改查,mysql,python,mysql,数据库,python

查看数据库class表中的数据:

pymysql增删改查,mysql,python,mysql,数据库,python

2.多条

再原来的代码基础上,新增inserts_sql()函数

pymysql增删改查,mysql,python,mysql,数据库,python

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
#创建新增sql语句的函数-单条数据
def insert_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.execute(sql,('1','1年级','1'))
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-多条数据
def inserts_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')])
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
if __name__ == '__main__':
    #search_sql()
    #insert_sql()
    inserts_sql()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:

pymysql增删改查,mysql,python,mysql,数据库,python

查看数据库class表中的数据:

pymysql增删改查,mysql,python,mysql,数据库,python

3.批量新增

再原来的代码基础上,新增inserts_sql_many()函数

pymysql增删改查,mysql,python,mysql,数据库,python

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
#创建新增sql语句的函数-单条数据
def insert_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.execute(sql,('1','1年级','1'))
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-多条数据
def inserts_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')])
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-新增大量数据
def inserts_sql_many():
    #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改
    values=[]
    for i in range(100,106):
        values.append((i,str(i)+'年级',i))
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,values)
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
if __name__ == '__main__':
    #search_sql()
    #insert_sql()
    #inserts_sql()
    inserts_sql_many()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:

pymysql增删改查,mysql,python,mysql,数据库,python

查看数据库class表中的数据:

pymysql增删改查,mysql,python,mysql,数据库,python

四.修改数据

1.单条

再原来的代码基础上,新增update_sql()函数

pymysql增删改查,mysql,python,mysql,数据库,python

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
#创建新增sql语句的函数-单条数据
def insert_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.execute(sql,('1','1年级','1'))
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-多条数据
def inserts_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')])
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-新增大量数据
def inserts_sql_many():
    #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改
    values=[]
    for i in range(100,106):
        values.append((i,str(i)+'年级',i))
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,values)
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建修改sql语句的函数-单条数据
def update_sql():
    #执行sql
    sql='update class set caption=%s where cid=%s'
    rows=cursor.execute(sql,('修改年级','3'))
    #提交
    conn.commit()
    print(f'修改的行数{rows}')
if __name__ == '__main__':
    #search_sql()
    #insert_sql()
    #inserts_sql()
    #inserts_sql_many()
    update_sql()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:

pymysql增删改查,mysql,python,mysql,数据库,python

查看数据库class表中的数据:

pymysql增删改查,mysql,python,mysql,数据库,python

2.多条

再原来的代码基础上,新增updates_sql()函数

pymysql增删改查,mysql,python,mysql,数据库,python

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
#创建新增sql语句的函数-单条数据
def insert_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.execute(sql,('1','1年级','1'))
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-多条数据
def inserts_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')])
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-新增大量数据
def inserts_sql_many():
    #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改
    values=[]
    for i in range(100,106):
        values.append((i,str(i)+'年级',i))
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,values)
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建修改sql语句的函数-单条数据
def update_sql():
    #执行sql
    sql='update class set caption=%s where cid=%s'
    rows=cursor.execute(sql,('修改年级','3'))
    #提交
    conn.commit()
    print(f'修改的行数{rows}')
#创建修改sql语句的函数-多条数据
def updates_sql():
    #执行sql
    sql='update class set caption=%s where cid=%s'
    rows=cursor.executemany(sql,[('修改1年级','100'),('修改2年级','101')])
    #提交
    conn.commit()
    print(f'修改的行数{rows}')
if __name__ == '__main__':
    #search_sql()
    #insert_sql()
    #inserts_sql()
    #inserts_sql_many()
    #update_sql()
    updates_sql()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:

pymysql增删改查,mysql,python,mysql,数据库,python

查看数据库class表中的数据:

pymysql增删改查,mysql,python,mysql,数据库,python

五.删除数据

1.单条

再原来的代码基础上,新增delete_sql()函数

pymysql增删改查,mysql,python,mysql,数据库,python

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
#创建新增sql语句的函数-单条数据
def insert_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.execute(sql,('1','1年级','1'))
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-多条数据
def inserts_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')])
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-新增大量数据
def inserts_sql_many():
    #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改
    values=[]
    for i in range(100,106):
        values.append((i,str(i)+'年级',i))
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,values)
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建修改sql语句的函数-单条数据
def update_sql():
    #执行sql
    sql='update class set caption=%s where cid=%s'
    rows=cursor.execute(sql,('修改年级','3'))
    #提交
    conn.commit()
    print(f'修改的行数{rows}')
#创建修改sql语句的函数-多条数据
def updates_sql():
    #执行sql
    sql='update class set caption=%s where cid=%s'
    rows=cursor.executemany(sql,[('修改1年级','100'),('修改2年级','101')])
    #提交
    conn.commit()
    print(f'修改的行数{rows}')
#删除数据-单条
def delete_sql():
    #执行sql
    sql='delete from class where cid=%s'
    rows=cursor.execute(sql,('102',))
    #提交
    conn.commit()
    print(f'删除的行数{rows}')
if __name__ == '__main__':
    #search_sql()
    #insert_sql()
    #inserts_sql()
    #inserts_sql_many()
    #update_sql()
    # updates_sql()
    delete_sql()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:

pymysql增删改查,mysql,python,mysql,数据库,python

查看数据库class表中的数据:

省略

2.多条

再原来的代码基础上,新增deletes_sql()函数

pymysql增删改查,mysql,python,mysql,数据库,python

import pymysql
#建立数据库连接
conn=pymysql.connect(
    host='127.0.0.1', #主机名
    port=3306,#端口号
    user='root',#用户名
    password='123456',#密码
    db='testMysql',#数据库名
    charset='utf8'
)
#获取游标
cursor=conn.cursor()
#创建查询sql语句的函数
def search_sql():
    #执行sql语句
    sql='select * from class'
    rows=cursor.execute(sql) #返回结果是受影响的行数
    print(rows) #数据库的class还没有数据,所以rows应该是0
    # 判断是否连接成功
    if rows >= 0:
        print('数据库连接成功')
    else:
        print('数据库连接失败')
#创建新增sql语句的函数-单条数据
def insert_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.execute(sql,('1','1年级','1'))
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-多条数据
def inserts_sql():
    #执行sql
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')])
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建新增sql语句的函数-新增大量数据
def inserts_sql_many():
    #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改
    values=[]
    for i in range(100,106):
        values.append((i,str(i)+'年级',i))
    sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)'
    rows=cursor.executemany(sql,values)
    #提交
    conn.commit()
    print(f'增加的行数{rows}')
#创建修改sql语句的函数-单条数据
def update_sql():
    #执行sql
    sql='update class set caption=%s where cid=%s'
    rows=cursor.execute(sql,('修改年级','3'))
    #提交
    conn.commit()
    print(f'修改的行数{rows}')
#创建修改sql语句的函数-多条数据
def updates_sql():
    #执行sql
    sql='update class set caption=%s where cid=%s'
    rows=cursor.executemany(sql,[('修改1年级','100'),('修改2年级','101')])
    #提交
    conn.commit()
    print(f'修改的行数{rows}')
#删除数据-单条
def delete_sql():
    #执行sql
    sql='delete from class where cid=%s'
    rows=cursor.execute(sql,('102',))
    #提交
    conn.commit()
    print(f'删除的行数{rows}')
#删除数据-多条
def deletes_sql():
    #执行sql
    sql='delete from class where cid=%s'
    rows=cursor.executemany(sql,[('100',),('103',)])
    #提交
    conn.commit()
    print(f'删除的行数{rows}')
if __name__ == '__main__':
    #search_sql()
    #insert_sql()
    #inserts_sql()
    #inserts_sql_many()
    #update_sql()
    # updates_sql()
    #delete_sql()
    deletes_sql()
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()


运行结果:

pymysql增删改查,mysql,python,mysql,数据库,python

查看数据库class表中的数据:

pymysql增删改查,mysql,python,mysql,数据库,python文章来源地址https://www.toymoban.com/news/detail-790370.html

到了这里,关于python操作mysql实现增删改查(包括单条新增,多条新增,批量新增等,全网最详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot入门(09):如何使用MyBatis的XML配置方式实现MySQL的增删改查操作?

            想要快速高效地开发Java Web应用程序,选择使用Spring Boot和MyBatis无疑是明智之举。本篇文章将教你使用MyBatis的XML配置方式,结合MySQL数据库,实现常见的增删改查操作,让你的应用程序更加实用和强大。跟随本文一起来探索MyBatis在Spring Boot中的力量吧!        

    2024年02月11日
    浏览(52)
  • Vue + Element ui 实现动态表单,包括新增行/删除行/动态表单验证/提交功能

    原创/朱季谦 最近通过Vue + Element ui实现了动态表单功能,该功能还包括了动态表单新增行、删除行、动态表单验证、动态表单提交功能,趁热打铁,将开发心得记录下来,方便以后再遇到类似功能时,直接拿来应用。 简化的页面效果图如下: 最开始,我是用了纯粹的表格形

    2024年02月04日
    浏览(37)
  • 【MySQL】增删改查操作(基础)

    在我们的数据库中,用insert into来进行新增操作,首先我们需要一张表 注意:在进行下列操作时,要选中数据库进行操作 一次只插入一行,每一行都会插入数据 举例如下: 举例如下: 这里通过 mysql 客户端给出的信息,也能看到我们成功插入了 2 行数据 注意:values()括号中

    2024年04月15日
    浏览(19)
  • 【MySQL学习】MySQL表的增删改查操作

    MySQL的 CURD 是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD,他的作用是用于处理数据的基本原子操作。CURD 分别代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。 新增数据的语法: 案例: 插入两条记录,value_list 数量必须

    2024年02月02日
    浏览(37)
  • MySQL表的操作『增删改查』

    ✨个人主页: 北 海 🎉所属专栏: MySQL 学习 🎃操作环境: CentOS 7.6 阿里云远程服务器 🎁软件版本: MySQL 5.7.44 首先创建一个 数据库 testForTable 当前创建的 数据库 testForTable 字符集和校验集分别为 utf8 和 utf8_general_ci ,这是由配置文件中的默认编码集决定的 接下来创建一张

    2024年02月04日
    浏览(33)
  • MySQL操作命令详解:增删改查

    CRUD操作是指对数据库进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)等操作的过程。 创建、选择、删除数据库 1.2.1 五大约束 1)非空约束(Not Null) 非空约束用于限制列中的值不能为空。这样可以确保表中的特定列不包含空值。 2)自增约束(auto_increment)

    2024年02月14日
    浏览(30)
  • 【MySQL新手入门系列三】:MySQL的新增、删除与修改操作

    在 MySQL 中,对数据的操作分为典型的“增删改查”四个操作。前面我们已经大致讲了一下mysql的安装等介绍,本篇博客将详解 MySQL 中的“新增、删除与修改”操作。 【MySQL新手入门系列一】:手把手教你入门MySQL 【MySQL新手入门系列二】:手把手教你入门MySQL - 数据库及数据

    2024年02月09日
    浏览(56)
  • MYSQL事务同时修改单条记录

    疑问:Mysql多事务默认情况下,同时修改同一条记录运行修改吗?是否要手动加上for update行锁。 猜想:MySQL 会自动对涉及的数据行加上写锁(排他锁),以确保数据的一致性和隔离性。这是在默认的事务隔离级别 Repeatable Read 下的行为。 验证 第一个事务不结束,并对message

    2024年02月14日
    浏览(29)
  • 绘制多条折线图的python代码实现

    绘制多条折线图的python代码实现 在Python中,我们可以使用matplotlib库来绘制折线图。对于需要同时绘制多条折线图的情况,我们可以通过加入多个线条的方式来达到目的。下面是一个简单的例子,展示了如何在可视化图像中同时绘制多条折线图。 首先,我们需要导入matplotli

    2024年02月08日
    浏览(31)
  • 【java+MySQL】调用方法对MySQL的表进行增删改查操作

    目录 一、java+MySQL,java对数据库表进行增删改查任务前提: 要求一:创建lib文件夹 要求二:添加druid.properties 要求三:创建四个子文件夹 二、具体要求如下: 1、编写DbUtils类,连接数据库; 2、写一个实体类Product.java 3、写一个产品表数据访问类ProductDao.java 4、写一个测试类

    2024年02月10日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包