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日

相关文章

  • SpringBoot项目部署到阿里云服务器的实现步骤

    下面是Spring Boot项目部署到阿里云服务器的实现步骤的完整攻略: 1. 购买阿里云服务器 首先需要购买一台阿里云服务器,推荐选择云服务器ECS。购买时需要选择操作系统,推荐选择CentOS 7.x。购买完成后,需要获取服务器的IP地址和登录密码。 2. 安装Java环境 接下来需要在服务器上安装Java环境,可以通过以下命令安装: yum insta…

    database 2023年5月21日
    00
  • 由于系统错误 126 (SQL Server),指定驱动程序无法加载

    问题描述 当尝试连接 SQL Server 数据库时,可能会遇到以下错误提示: 由于系统错误 126 (SQL Server),指定驱动程序无法加载。 这意味着在加载 SQL Server 驱动程序时出现了问题,原因可能是以下几种: 驱动程序文件缺失或被删除 驱动程序文件路径设置错误 驱动程序版本不兼容当前操作系统 解决方案 以下是针对不同情况的解决方案: …

    database 2023年5月21日
    00
  • 详解CentOS设置程序开机自启动的方法

    下面是详解CentOS设置程序开机自启动的方法的完整攻略。 1. 确认服务是否具有自启动的配置文件 在CentOS系统下,一些服务默认会具有自启动的配置文件,我们可以先查看一下我们所需要开机自启动的服务是否具有配置文件。 常用的系统服务配置文件的目录为/lib/systemd/system/,以nginx服务为示例,我们可以使用以下命令来检查是否有名为ngi…

    database 2023年5月22日
    00
  • MySql中的连接查询问题

    MySQL的连接查询问题是在SQL语句中执行连接查询时所遇到的常见问题。连接查询是使用两个或多个表之间的关联字段进行联结查询的方式。在使用连接查询时,我们经常遇到以下几个问题: 如何选择合适的连接类型 – 内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL OUTER JOIN)。 如何避免联接重复…

    database 2023年5月22日
    00
  • mysql中插入emoji表情失败的原因与解决

    针对“mysql中插入emoji表情失败的原因与解决”这个问题,我将为大家提供完整的攻略。 问题描述 在mysql数据库中,有时候我们会遇到插入emoji表情失败的情况,具体表现为插入的数据出现乱码或者无法插入。 原因分析 导致这种情况的原因是因为mysql默认情况下是不支持存储4字节Unicode字符的,而emoji表情字符有些是4字节的,所以当我们尝试插…

    database 2023年5月18日
    00
  • Redis教程(十五):C语言连接操作代码实例

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/143.html 在之前的博客中已经非常详细的介绍了Redis的各种操作命令、运行机制和服务器初始化参数配置。本篇博客是该系列博客中的最后一篇,在这里将给出基于Redis客户端组件访问并操作Redis服务器的代码示例。然而需要说明的是,…

    Redis 2023年4月13日
    00
  • 20道Redis面试题,面试官能问的都被我找到了(含答案)

    20道Redis面试题攻略 1. Redis的数据类型 Redis支持多种数据类型,包括字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set)。其中: 字符串是最基本的数据类型,可以存储任意类型的数据,包括二进制数据。字符串类型有一个最大值限制,最大长度为512MB. 哈希类型是一个键值对集合,可以存储多…

    database 2023年5月22日
    00
  • linux使用gcc编译c语言共享库步骤

    下面是在Linux操作系统中使用gcc编译C语言共享库的步骤攻略: 步骤一:编写C语言共享库代码 首先,我们需要编写C语言共享库的代码。共享库可以支持多个程序同时使用,以节省内存空间。下面是一个简单的共享库示例代码: // 该共享库的源代码存储在test.c文件中 #include <stdio.h> #include <stdlib.h&…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部