python-管理MySQL数据库作业

作业1

在这里插入图片描述

import pymysql

class The_book:
    def __init__(self,database_name):
        self.database_name = database_name

    def conn_db(self):
        #  连接数据库
        return pymysql.connect('127.0.0.1', 'root', 'root', self.database_name, charset='utf8')

    def create_database_table(self,sql):
        #  创建库,创建表
        cur.execute(sql)

    def insert_book(self):
        #  图书入库
        id = int(input("请输入id:"))
        name = input("请输入图书名称:")
        num = int(input("请输入图书库存:"))
        sql = "insert into book values(%d,'%s',%d)" % (id,name,num)
        count = cur.execute(sql)
        conn.commit()
        if count != 0:
            print("添加了",count,"条数据")
        else:
            print("添加失败!!!")

    def select_book(self):
        #  查找书籍
        name = input("请输入要查找的书名称:")
        sql = "select * from book where name='%s'" % name
        cur.execute(sql)
        list = cur.fetchall()
        if list:
            print("id\t名称\t库存")
            for i in list:
                for k in i:
                    print(k,end="\t")
                print()
        else:
            print("您查找的书籍不存在")

    def update_num(self):
        #  借阅书籍
        name = input("请输入要借阅的书名:")
        num = int(input("请输入要借几本书:"))
        sql = "select num from book where name='%s'" % name
        cur.execute(sql)
        list = cur.fetchone()
        if list:
            if num <= list[0]:
                sql = "update book set num=num-%d where name='%s'" % (num, name)
                count = cur.execute(sql)
            else:
                print("库存不足,借书失败,图书剩余",list[0],"本")
                return
            conn.commit()
            if count != 0:
                print("已成功借书",num,"本\n剩余",list[0]-num,"本")
        else:
            print("找不到该图书")

book = The_book('test3')
conn = book.conn_db()
cur = conn.cursor()
# sql = """create table book(id int not null,name varchar(20),num int)default charset=utf8"""
# book.create_database_table(sql)

while True:
    choose = int(input("请输入:\n1:图书入库\n2:查找书籍\n3:借阅书籍\n"))
    if choose == 1:
        book.insert_book()
    elif choose == 2:
        book.select_book()
    elif choose == 3:
        book.update_num()
    else:
        print("输入错误!!")
        continue
    choose = input("输入'y'退出系统,其他继续:")
    if choose == 'y':
        break

conn.close()
cur.close()

作业2

在这里插入图片描述

import pymysql

class Shopping:

    def __init__(self,database_name):
        self.database_name = database_name

    def conn_db(self):
        #  连接数据库
        return pymysql.connect('127.0.0.1','root','root',self.database_name,charset='utf8')

    def create_database_table(self,sql):
        #  创建库,创建表
        cur.execute(sql)

    def insert_shopping(self):
        name = input("请输入商品名称:")
        price = float(input("请输入商品价格:"))
        num = int(input("请输入商品数量:"))
        sql = "insert into shopping values('%s',%f,%d)" % (name, price, num)
        count = cur.execute(sql)
        conn.commit()
        if count != 0:
            print("您添加了", count, "条数据")
        else:
            print("添加失败!!!")

    def select_table(self):
        sql = "select *,price*num 小计 from shopping"
        cur.execute(sql)
        print("商品名称\t价格\t数量\t小计")
        for i in cur.fetchall():
            for k in i:
                print(k,end='\t')
            print()

    def sum_money(self):
        sql = "select sum(price*num) from shopping"
        cur.execute(sql)
        print("需要付的总金额为:", cur.fetchone()[0])

    def del_shopping(self):
        name = input("请输入要删除的商品名:")
        sql = "delete from shopping where name='%s'" % name
        cur.execute(sql)
        conn.commit()
        if cur.rowcount!=0:
            print("删除成功")
        else:
            print("删除失败,请查看商品名称是否正确")


shopping = Shopping('test3')
conn = shopping.conn_db()
cur = conn.cursor()
#创建表
# sql = "create table shopping(name varchar(30) not null,price decimal(10,2),num int)default charset='utf8'"
# shopping.create_database_table(sql)

while True:
    choose = int(input("请输入:\n1:添加商品\n2:查询购物车中所有信息\n3:查看需要付的总金额\n4:删除商品\n"))
    if choose == 1:
        shopping.insert_shopping()
    elif choose == 2:
        shopping.select_table()
    elif choose == 3:
        shopping.sum_money()
    elif choose == 4:
        shopping.del_shopping()
    else:
        print("输入错误!!")
        continue
    choose = input("输入'y'退出系统,其他继续:")
    if choose == 'y':
        break

conn.close()
cur.close()

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库作业中,使用MySQLPython进行交互是一项常见的任务,因为Python提供了丰富的数据库操作库,如`pymysql`或`mysql-connector-python`。这个过程通常涉及以下几个步骤: 1. **安装数据库驱动**:首先确保你已经在Python环境中安装了相应的MySQL库,可以通过pip安装,例如 `pip install pymysql` 或者 `pip install mysql-connector-python`. 2. **连接数据库**:使用Python代码创建到MySQL数据库的连接,通常需要数据库地址(主机名、IP)、用户名、密码以及数据库名称。 ```python import pymysql connection = pymysql.connect(host='localhost', user='your_username', password='your_password', db='your_database') ``` 3. **执行SQL查询**:通过`cursor`对象执行SQL命令,如查询数据、插入、更新或删除。 ```python cursor = connection.cursor() query = "SELECT * FROM your_table" cursor.execute(query) results = cursor.fetchall() ``` 4. **处理查询结果**:对查询结果进行遍历和分析,可能用到列表推导式或者数据处理库如pandas。 5. **事务管理**:如果需要,可以使用Python处理事务,确保数据的一致性。 6. **关闭连接**:在完成所有操作后,记得关闭连接释放资源。 **相关问题--:** 1. 如何在Python中处理更复杂的SQL查询,比如分页或条件查询? 2. 如何在Python中使用异常处理来避免数据库连接错误? 3. 如果要做大规模数据分析,如何结合pandas库与MySQL一起使用? 4. 如何在Python中执行存储过程或触发器等高级功能? 5. 如果涉及到数据库设计,有哪些基本原则需要遵循?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值