用数据库写一个商品管理表
时间: 2023-05-20 12:04:19 浏览: 52
好的,以下是一个简单的商品管理表的数据库设计:
表名:product
字段:id (int, primary key, auto increment) 商品ID
name (varchar(255)) 商品名称
description (text) 商品描述
price (decimal(10,2)) 商品价格
stock (int) 商品库存
你可以使用 MySQL 或者其他关系型数据库来实现这个表格。
相关问题
用java连接数据库写一个商品库存管理系统(功能注释)
好的,下面是一个简单的Java商品库存管理系统,使用MySQL数据库进行数据存储和管理。这个系统包括以下功能:
1. 添加新商品:允许用户输入新商品的名称、数量和价格,并将其保存到MySQL数据库中。
2. 更新商品信息:允许用户选择一个商品并更新其数量和价格。
3. 删除商品:允许用户选择一个商品并将其从数据库中删除。
4. 列出所有商品:在控制台上列出所有商品的名称、数量和价格。
5. 搜索商品:允许用户输入关键字并搜索匹配的商品。
在开始之前,请确保您已经安装了MySQL数据库和Java开发环境(如Eclipse或IntelliJ IDEA)。接下来,您需要创建一个名为“products”的数据库,并在其中创建一个名为“inventory”的表格,包括以下字段:id(自增 ID)、name(商品名称)、quantity(库存量)和 price(价格)。
然后,您可以使用以下Java代码连接到MySQL数据库并实现上述功能:
```java
import java.sql.*;
public class InventorySystem {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/products";
// Database credentials
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Open a connection
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// Execute a query to create the inventory table if it doesn't exist
stmt = conn.createStatement();
String sql = "CREATE TABLE IF NOT EXISTS inventory " +
"(id INTEGER not NULL AUTO_INCREMENT, " +
" name VARCHAR(255), " +
" quantity INTEGER, " +
" price DOUBLE, " +
" PRIMARY KEY ( id ))";
stmt.executeUpdate(sql);
// Loop until the user quits the program
boolean quit = false;
while (!quit) {
System.out.println("Select an option:");
System.out.println("1. Add new product");
System.out.println("2. Update product information");
System.out.println("3. Delete product");
System.out.println("4. List all products");
System.out.println("5. Search for a product");
System.out.println("6. Quit");
System.out.print("Enter your choice: ");
// Read the user's choice
int choice = Integer.parseInt(System.console().readLine());
// Perform the selected action
switch (choice) {
case 1:
addProduct(conn);
break;
case 2:
updateProduct(conn);
break;
case 3:
deleteProduct(conn);
break;
case 4:
listProducts(conn);
break;
case 5:
searchProduct(conn);
break;
case 6:
quit = true;
break;
default:
System.out.println("Invalid choice");
break;
}
}
} catch (SQLException se) {
// Handle errors for JDBC
se.printStackTrace();
} catch (Exception e) {
// Handle errors for Class.forName
e.printStackTrace();
} finally {
// Close resources
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
// Nothing we can do
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
// Add a new product to the inventory
private static void addProduct(Connection conn) throws SQLException {
System.out.print("Enter product name: ");
String name = System.console().readLine();
System.out.print("Enter quantity: ");
int quantity = Integer.parseInt(System.console().readLine());
System.out.print("Enter price: ");
double price = Double.parseDouble(System.console().readLine());
String sql = "INSERT INTO inventory (name, quantity, price) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, quantity);
pstmt.setDouble(3, price);
pstmt.executeUpdate();
System.out.println("Product added successfully");
}
// Update an existing product's information
private static void updateProduct(Connection conn) throws SQLException {
listProducts(conn);
System.out.print("Enter product ID to update: ");
int id = Integer.parseInt(System.console().readLine());
System.out.print("Enter new quantity: ");
int quantity = Integer.parseInt(System.console().readLine());
System.out.print("Enter new price: ");
double price = Double.parseDouble(System.console().readLine());
String sql = "UPDATE inventory SET quantity=?, price=? WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, quantity);
pstmt.setDouble(2, price);
pstmt.setInt(3, id);
int rows = pstmt.executeUpdate();
if (rows > 0) {
System.out.println("Product updated successfully");
} else {
System.out.println("Product not found");
}
}
// Delete a product from the inventory
private static void deleteProduct(Connection conn) throws SQLException {
listProducts(conn);
System.out.print("Enter product ID to delete: ");
int id = Integer.parseInt(System.console().readLine());
String sql = "DELETE FROM inventory WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
int rows = pstmt.executeUpdate();
if (rows > 0) {
System.out.println("Product deleted successfully");
} else {
System.out.println("Product not found");
}
}
// List all products in the inventory
private static void listProducts(Connection conn) throws SQLException {
String sql = "SELECT * FROM inventory";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int quantity = rs.getInt("quantity");
double price = rs.getDouble("price");
System.out.println(id + "\t" + name + "\t" + quantity + "\t" + price);
}
rs.close();
stmt.close();
}
// Search for a product by name
private static void searchProduct(Connection conn) throws SQLException {
System.out.print("Enter search keyword: ");
String keyword = System.console().readLine();
String sql = "SELECT * FROM inventory WHERE name LIKE ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "%" + keyword + "%");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int quantity = rs.getInt("quantity");
double price = rs.getDouble("price");
System.out.println(id + "\t" + name + "\t" + quantity + "\t" + price);
}
rs.close();
pstmt.close();
}
}
```
注意:在实际应用中,您应该将用户名和密码存储在安全的地方,而不是直接在代码中硬编码。
一个商品管理系统的数据库
一个商品管理系统的数据库通常包含以下表格:
1. 商品表:存储商品的信息,如商品编号、商品名称、商品描述、商品价格、商品图片等。
2. 库存表:存储商品的库存信息,如商品编号、库存数量、入库时间等。
3. 订单表:存储订单的信息,如订单编号、下单时间、订单状态、订单总金额等。
4. 订单详情表:存储订单中每个商品的信息,如订单编号、商品编号、商品数量、商品单价等。
5. 用户表:存储用户的信息,如用户编号、用户名、密码、手机号、邮箱等。
6. 收货地址表:存储用户的收货地址信息,如收货地址编号、用户编号、收货人姓名、收货人手机号、收货地址等。
7. 支付记录表:存储用户的支付记录信息,如订单编号、支付方式、支付时间、支付金额等。
以上是一个商品管理系统的基本数据库表格,当然具体的实现还要根据实际需求进行调整。