<MySQL>建表SQ和CRUD SQ脚本案例二
发布人:shili8
发布时间:2025-03-11 15:39
阅读次数:0
**MySQL 建表 SQ 和 CRUD 脚本案例二**
在前面的案例中,我们已经学习了如何使用 MySQL 来创建一个简单的用户管理系统。然而,在现实世界中,数据库往往会变得更加复杂和庞大。因此,在本案例中,我们将继续深入探讨 MySQL 的建表 SQ 和 CRUD 脚本。
**案例背景**
我们正在开发一个在线书店系统,需要支持以下功能:
* 用户注册和登录*书籍管理(添加、删除、修改)
* 购物车管理* 订单管理**建表 SQ 脚本**
首先,我们需要创建相应的数据库和表格。我们将使用以下 SQL 脚本来完成这一步骤:
sql-- 创建数据库CREATE DATABASE online_bookstore; -- 使用数据库USE online_bookstore; -- 创建用户表CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP); -- 创建书籍表CREATE TABLE books ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255) NOT NULL, author VARCHAR(255) NOT NULL, price DECIMAL(10,2) NOT NULL, stock INT NOT NULL DEFAULT0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP); -- 创建购物车表CREATE TABLE carts ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, book_id INT NOT NULL, quantity INT NOT NULL DEFAULT1, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id), FOREIGN KEY (book_id) REFERENCES books(id) ); -- 创建订单表CREATE TABLE orders ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, book_id INT NOT NULL, quantity INT NOT NULL DEFAULT1, total_price DECIMAL(10,2) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id), FOREIGN KEY (book_id) REFERENCES books(id) );
**CRUD 脚本**
接下来,我们需要实现 CRUD(Create、Read、Update、Delete)操作来管理数据。我们将使用以下 SQL 脚本来完成这一步骤:
sql-- 用户注册INSERT INTO users (username, password, email) VALUES ('johnDoe', 'password123', 'johndoe@example.com'); -- 用户登录SELECT * FROM users WHERE username = 'johnDoe' AND password = 'password123'; -- 添加书籍INSERT INTO books (title, author, price, stock) VALUES ('Python Cookbook', 'Mike McGrane',29.99,10); -- 删除书籍DELETE FROM books WHERE id =1; -- 修改书籍信息UPDATE books SET title = 'Python Cookbook Updated' WHERE id =1; -- 添加购物车项INSERT INTO carts (user_id, book_id, quantity) VALUES (1,1,2); -- 删除购物车项DELETE FROM carts WHERE id =1; -- 修改购物车项数量UPDATE carts SET quantity =3 WHERE id =1; -- 添加订单INSERT INTO orders (user_id, book_id, quantity, total_price) VALUES (1,1,2,59.98); -- 删除订单DELETE FROM orders WHERE id =1; -- 修改订单信息UPDATE orders SET total_price =119.96 WHERE id =1;
**总结**
在本案例中,我们学习了如何使用 MySQL 来创建一个在线书店系统,包括用户注册和登录、书籍管理、购物车管理以及订单管理。我们实现了 CRUD 操作来管理数据,并使用 SQL 脚本来完成这一步骤。