数据库数据插入实战:创建表与插入数据

🎊🎊 在本实战项目中,我们将通过一个电子商务平台的数据库设计来演示如何创建表和进行数据插入。我们将创建用户表、产品表和订单表,并插入一些示例数据。🎉🎉

第一步:创建数据库

首先,我们需要创建一个数据库来存储我们的电子商务平台数据。

复制代码
CREATE DATABASE IF NOT EXISTS ECommerce;
USE ECommerce;

第二步:创建表

接下来,我们将创建三个表:users, products, 和 orders

创建用户表

复制代码
CREATE TABLE IF NOT EXISTS users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    email VARCHAR(100) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

创建产品表

复制代码
CREATE TABLE IF NOT EXISTS products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    description TEXT,
    price DECIMAL(10, 2) NOT NULL,
    stock INT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

创建订单表

复制代码
CREATE TABLE IF NOT EXISTS orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    status VARCHAR(50),
    total_amount DECIMAL(10, 2) NOT NULL,
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);

第三步:插入数据

现在表已经创建好了,我们可以开始插入数据。

插入用户数据

复制代码
INSERT INTO users (username, email, password) VALUES
('john_doe', 'john@example.com', 'password123'),
('jane_smith', 'jane@example.com', 'securepass456');

插入产品数据

复制代码
INSERT INTO products (name, description, price, stock) VALUES
('Laptop', 'High performance laptop', 999.99, 50),
('Smartphone', 'Latest model smartphone', 699.99, 100),
('Headphones', 'Noise cancelling headphones', 199.99, 150);

插入订单数据

在插入订单数据之前,我们需要确保 users 表中已经存在用户,因为 orders 表中有外键约束。

复制代码
-- 假设用户john_doe已经存在,其user_id为1
INSERT INTO orders (user_id, status, total_amount) VALUES
(1, 'Pending', 999.99);

第四步:验证数据

最后,我们可以查询表以验证数据是否正确插入。

复制代码
-- 查询用户数据
SELECT * FROM users;

-- 查询产品数据
SELECT * FROM products;

-- 查询订单数据
SELECT * FROM orders;

结论

通过本实战项目,我们展示了如何在一个电子商务平台的数据库中创建表和插入数据。这包括了创建数据库、定义表结构、插入示例数据以及验证数据的完整性。希望这个项目能够帮助你理解数据库设计和数据操作的基本流程。如果你有任何问题或需要进一步的帮助,请随时在评论区提出。

相关推荐
AAA修煤气灶刘哥11 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud15 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术19 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug1 天前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom1 天前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*1 天前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰1 天前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*1 天前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
-Xie-1 天前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存