python操作mysql实现一个超市管理系统

Python操作MySQL实现超市管理系统

简介

MySQL 是一个流行的关系型数据库管理系统,而 Python 是一种与 MySQL 配合非常好的编程语言。在这个教程中,我们将使用 Python 中的 pymysql 库实现一个超市管理系统。

步骤

1. 创建数据库和表

首先需要创建一个数据库,并且在其中创建一个表来存储超市的商品信息。可以使用如下 SQL 语句来创建一个名为 supermarket 的数据库和名为 products 的表:

CREATE DATABASE supermarket;

USE supermarket;

CREATE TABLE products (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255),
  price FLOAT
);

2. 连接数据库

使用 Python 中的 pymysql 库连接到数据库:

import pymysql

conn = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    db='supermarket'
)

其中,host 是数据库的主机名,user 是数据库的用户名,password 是数据库的密码,db 是要连接的数据库名。

3. 插入数据

使用 SQL 语句向表中插入数据:

cursor = conn.cursor()

# 插入单条数据
sql = "INSERT INTO products (name, price) VALUES (%s, %s)"
val = ("apple", 2.3)
cursor.execute(sql, val)

# 插入多条数据
sql = "INSERT INTO products (name, price) VALUES (%s, %s)"
val = [
    ("banana", 1.1),
    ("orange", 4.5),
    ("peach", 3.2)
]
cursor.executemany(sql, val)

conn.commit()

可以使用 cursor.execute()cursor.executemany() 来插入数据,conn.commit() 用于提交插入操作。

4. 查询数据

使用 SELECT 语句从表中查询数据:

cursor = conn.cursor()

# 查询单条数据
sql = "SELECT * FROM products WHERE name = %s"
val = ("apple", )
cursor.execute(sql, val)
result = cursor.fetchone()
print(result)

# 查询所有数据
sql = "SELECT * FROM products"
cursor.execute(sql)
result = cursor.fetchall()
print(result)

可以使用 cursor.fetchone() 来获取一条查询结果,也可使用 cursor.fetchall() 获取所有查询结果。

5. 更新数据

使用 UPDATE 语句更新表中数据:

cursor = conn.cursor()

sql = "UPDATE products SET price = 2.5 WHERE name = %s"
val = ("apple", )
cursor.execute(sql, val)

conn.commit()

可以使用 cursor.execute() 来更新数据,conn.commit() 用于提交更新操作。

6. 删除数据

使用 DELETE 语句删除表中数据:

cursor = conn.cursor()

sql = "DELETE FROM products WHERE name = %s"
val = ("apple", )
cursor.execute(sql, val)

conn.commit()

可以使用 cursor.execute() 来删除数据,conn.commit() 用于提交删除操作。

示例说明

以下是一个基于 pymysql 实现的超市管理系统示例:

import pymysql

conn = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    db='supermarket'
)

def add_product(name, price):
    cursor = conn.cursor()
    sql = "INSERT INTO products (name, price) VALUES (%s, %s)"
    val = (name, price)
    cursor.execute(sql, val)
    conn.commit()

def get_products():
    cursor = conn.cursor()
    sql = "SELECT * FROM products"
    cursor.execute(sql)
    return cursor.fetchall()

def remove_product(name):
    cursor = conn.cursor()
    sql = "DELETE FROM products WHERE name = %s"
    val = (name, )
    cursor.execute(sql, val)
    conn.commit()

# 添加商品
add_product("apple", 2.5)
add_product("banana", 1.1)
add_product("peach", 3.2)

# 查询商品
products = get_products()
print(products)

# 删除商品
remove_product("apple")
products = get_products()
print(products)

在这个示例中,我们定义了 add_product() 函数用于添加商品,get_products() 函数用于查询所有商品,以及 remove_product() 函数用于删除商品。我们使用这些函数来添加、查询和删除一些商品信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python操作mysql实现一个超市管理系统 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • MySQL索引失效的几种情况小结

    下面我来详细讲解MySQL索引失效的几种情况小结。 1. 索引列被函数操作 一般来说,对索引列的操作会使索引失效,例如: SELECT * FROM table WHERE YEAR(create_time) = ‘2021’; 上面这个语句中,对create_time列进行了YEAR()函数操作,这会导致该列上的索引失效。因此,在对索引列进行查询时尽量避免…

    database 2023年5月22日
    00
  • Linux关于透明大页的使用与禁用介绍

    Linux关于透明大页的使用与禁用介绍 透明大页是指操作系统运行时能够自动地针对内存页的大小进行管理,以提高内存利用率和性能。下面我们将介绍如何在Linux系统下使用、禁用透明大页的方法。 使用透明大页 步骤一:确认系统支持透明大页 在终端中输入以下命令: $ grep -i "transparent_hugepage" /sys/ker…

    database 2023年5月22日
    00
  • mysql 5.7.20\5.7.21 免安装版安装配置教程

    MySQL 5.7.20/5.7.21 免安装版安装配置教程 MySQL是一款功能强大的关系型数据库管理系统,其最新版本为5.7.21。本教程将介绍如何在Windows平台上通过免安装版的方式安装MySQL 5.7.20/5.7.21,并进行相关的配置操作。 下载MySQL免安装版 首先,你需要下载MySQL 5.7.20/5.7.21免安装版,下载链接如下…

    database 2023年5月22日
    00
  • dos命令大全 黑客必知的DOS命令集合

    DOS命令大全 黑客必知的DOS命令集合 介绍 DOS(Disk Operating System),是指针对个人计算机(PC)硬件平台设计的一系列操作系统。DOS操作系统比较古老,但有许多实用的命令,为黑客攻防战斗提供了极大的便利。本文将介绍一些黑客必知的DOS命令,为黑客行动提供参考。 基础命令 dir dir命令是用来查询某个目录下的文件和子目录的。同…

    database 2023年5月22日
    00
  • CrossOver Linux版如何安装未知应用程序?CrossOver Linux版安装未知应用程序教程

    下面是CrossOver Linux版安装未知应用程序的完整攻略。 前置条件 在开始安装未知应用程序前,需要先安装CrossOver Linux并购买一个订阅计划。如果你还没有安装和购买,可以前往CrossOver官网进行购买和下载。 步骤一:打开CrossOver 首先,打开CrossOver应用程序。 步骤二:创建新的Wine瓶子 在CrossOver界…

    database 2023年5月22日
    00
  • Java+MySQL实现设计优惠券系统

    Java+MySQL实现设计优惠券系统 概述 优惠券是电商、O2O等商业领域广为应用的一种促销方式,如何合理设计并实现优惠券系统成为重要问题。本文将介绍如何利用Java与MySQL实现设计优惠券系统的完整攻略。 需求分析 在设计优惠券系统前,需要先进行需求分析并制定系统的功能需求和非功能需求。如下是我们提炼出的需求: 功能需求 注册、登录、退出功能。 发放新…

    database 2023年5月19日
    00
  • MongoDB如何对数组中的元素进行查询详解

    下面是MongoDB如何对数组中的元素进行查询的攻略: 1. 基本语法 MongoDB数组查询需要用到操作符 $elemMatch,其基本语法如下: db.collection.find({array_field: {$elemMatch: {field1: value1, field2: value2}}}) 其中: db.collection 表示要从哪…

    database 2023年5月21日
    00
  • linux详细redis安装和php中redis扩展

    第一部分:安装redis 希望将redis安装到此目录  1 /usr/local/redis 希望将安装包下载到此目录  1 /usr/local/src 那么安装过程指令如下:  1 2 3 4 5 6 7 $ mkdir /usr/local/redis   $ cd /usr/local/src   $ wget http://redis.googl…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部