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日

相关文章

  • Python操作Redis的5种数据类型

    1.连接redis(两种方式) # decode_responses=True: 解决获取的值类型是bytes字节问题 r = redis.Redis(host=’localhost’, port=’6379′, db=0, decode_responses=True)    pool = redis.ConnectionPool(host=’localho…

    Redis 2023年4月12日
    00
  • Nginx0.5.33+PHP5.2.5(FastCGI)搭建胜过Apache10倍的Web服务器

    欢迎来到本站,下面是搭建Nginx0.5​.33+​PHP5.2.5​(​FastCGI​)​的完整攻略: 步骤一:安装Nginx软件 安装编译工具 yum install -y gcc automake autoconf libtool gcc-c++ pcre-devel zlib-devel openssl-devel 下载并解压Nginx软件包 wg…

    database 2023年5月22日
    00
  • Oracle 监控索引使用率脚本分享

    下面是详细讲解“Oracle 监控索引使用率脚本分享”的完整攻略。 背景介绍 在 Oracle 数据库中,索引是提高查询效率的重要手段。但是过多的索引会降低性能,同时索引的使用率也需要关注。通过监控索引使用率,可以及时发现哪些索引没有被使用,从而及时优化。 脚本介绍 下面介绍一个可以监控索引使用率的脚本。 SELECT i.owner, i.index_na…

    database 2023年5月22日
    00
  • MySQL中组合字段之concat()

    当我们需要将多个字段或字符串连接成一个字符串时,可以使用 MySQL 中的 concat() 函数。它可以将多个参数拼接成一个字符串,并返回拼接后的字符串。 concat() 函数的使用方法 concat() 函数可以接受多个参数,每个参数都可以是字段名称、字符串或者表达式。它们会按照参数传递的顺序依次拼接成一个字符串。下面是 concat() 函数的语法:…

    database 2023年5月22日
    00
  • mysql源码安装脚本分享

    下面是“mysql源码安装脚本分享”的完整攻略: 前言 本教程将介绍如何使用 mysql 源码安装脚本在 Linux 系统上安装 MySQL。使用源码安装的好处是可以更好地针对个人需求进行定制与管理,并且可以更加深入的学习 MySQL 数据库的底层原理。 环境准备 在开始操作之前,我们需要先准备好以下环境: 操作系统:Linux(Ubuntu/Debian/…

    database 2023年5月22日
    00
  • 如何使用Python在MySQL中使用读锁和写锁?

    在MySQL中,读锁和写锁是用于控制并发访问的机制,它们可以确保多个用户同时访问同一行时不会发生冲突。在Python中,可以使用MySQL连接来执行读锁和写锁查询以下是在Python使用读锁和写锁的完整攻略,包括读锁和写锁的基本语法使用读锁和写锁的例以如何在Python中使用读锁和写锁。 读锁和写锁的基本语法 在MySQL中,可以使用SELECT语句来读锁,…

    python 2023年5月12日
    00
  • Oracle存储过程游标用法分析

    Oracle存储过程游标用法分析 什么是Oracle存储过程游标? 在Oracle中,存储过程是一个可重用的过程,它是一组预定义的PL/SQL代码块,可以在数据库中多次执行。存储过程可以显著提高性能,因为它们可以在单个调用中执行多个SQL语句,从而减少了网络流量和数据库访问时间。游标是一个PL/SQL指针,可以通过它来处理多个查询结果集,使存储过程变得灵活且…

    database 2023年5月21日
    00
  • mysql kill process解决死锁问题

    要理解解决MySQL死锁问题的基本攻略,需要明确以下几点: 死锁是指两个或多个事务无限期地等待对方持有的锁的情况,这是由于没有事务释放锁,导致其他事务无法继续进行。 在MySQL中,死锁通常是由于多个事务同时在读写同一张表或同一行时发生的。 解决MySQL死锁通常需要终止其中一个事务,这个过程又称为 “kill process”(杀死进程)。 下面是解决My…

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