表结构:

Python列表的增删查改 python数据库增删改查_Python列表的增删查改

利用python操作数据库需要导入pymysql数据库,如果没有这个库可以利用cmd进行安装,打开cmd然后输入:

pip install pymysql

即可成功安装。

python实现数据库的增删查改:

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

#导入所需要的库

import pymysql

#利用connect函数打开数据库连接,参数分别为:主机名、用户名、密码、端口号、表名

db = pymysql.connect(host='localhost',user='****',password='*******',port=3306,db='****')

#使用cursor()方法获取游标

cursor = db.cursor()

#定义一个整数i,来代表用户选择的功能,初始值设为0
i = 0
while i!=5:

    #打印字符串,提示用户选择功能,用户需要输入数字来选择功能
    print("1.信息输入\n2.信息查询\n3.信息修改\n4.信息删除\n5.退出")

   #Python中,input获取的数据类型默认为str,这里将其强制转换为int类型,便于后面判断功能
    i = int(input("请输入您要执行的功能:\n"))
    #增加数据
    if i==1:
        cursor = db.cursor()
        IN = 'Y'
        while(IN!='N'):
            ID = input("请输入成员id:\n")
            name = input("请输入成员姓名:\n")
            age = input("请输入成员年龄:\n")
            #SQL插入语句
            sql = 'INSERT INTO test(ID,name, age) values (%s,%s,%s)'
            try:

                #执行sql语句
                cursor.execute(sql,(ID,name,age))

                #提交到数据库执行
                db.commit()

                #如果添加成功则打印字符串
                print("添加成功")
            except:

                #发生错误时回滚
                db.rollback()
            IN = input("是否继续输入(Y/N)?")
    #信息查询
    elif i==2:

        #使用cursor方法获取游标
        cursor = db.cursor()

        #sql查询语句
        sql = "select * from test"

        #执行sql语句并将查询到的结果赋给reCount
        reCount = cursor.execute(sql)

        #打印reCount中的内容
        print(reCount)

        #使用fetchall()方法获得整个数据库
        data = cursor.fetchall()
        print(data)
    #信息修改
    elif i==3:

        #使用cursor方法获取游标
        cursor = db.cursor()
        idd = input("请输入要修改成员的ID:\n")
        print("1.ID\n2.姓名\n3.年龄\n")
        function = int(input("请输入要修改的数据:\n"))
        change = input("请输入修改后的数据:\n")
        if function==1:
            function = "id"
        elif function==2:
            function = "name"
        else:
            function = "age"

        #sql修改语句
        sql = "update test set %s=%s where id = '%s'" % (function,change,idd)
        try:

            #执行sql语句
            cursor.execute(sql)

            #提交到数据库中执行
            db.commit()

            #如果修改成功则打印字符串提示
            print("修改成功")
        except:

            #发生错误时回滚
            db.rollback()
    #信息删除     
    elif i==4:

        #利用cursor()获取游标
        cursor = db.cursor()

        #利用学号删除信息
        iddd = input("请输入被删除成员的学号:\n")

        #sql删除语句
        sql = "delete from test where id=%s"%(iddd)  
        try:

            #执行sql语句
            cursor.execute(sql)

             #提交到数据库执行
            db.commit()

            #如果执行成功则打印字符串提示
            print("删除成功")
        except:

            #发生错误时回滚
            db.rollback()
     #如果用户选择功能5,则进入该分支,退出循环,结束数据库操作 
    else:
        break

#关闭数据库

cursor.close()
db.close()