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

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

第一步:创建数据库

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

复制代码
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;

结论

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

相关推荐
进击的女IT13 分钟前
通过mysql中的Data目录恢复数据库数据
数据库·mysql
yuezhilangniao19 分钟前
AI工具全家桶:从开发到运维,从数据库到产品经理-含魔塔社区简介
运维·数据库·人工智能
gb421528728 分钟前
ChromaDB向量数据库的特点
数据库
IvorySQL1 小时前
PostgreSQL 日报| GiST 索引扫描可见性缺陷(8 月 3 日)
数据库·人工智能·postgresql·开源
xiaoxiangsiyan1 小时前
LNMP + Redis Sentinel 高可用架构部署手册(续)
运维·网络·数据库·redis·缓存·架构·sentinel
刘婉晴1 小时前
【Web漏洞】SQL 注入实战技巧
前端·数据库·sql
CodeHackerBhx2 小时前
Spring Boot 4 防重复提交:从接口幂等到 Redis 分布式锁的完整实践
java·数据库·spring boot·redis·分布式
xlxxy_2 小时前
外部系统调用SAP接口遇到的一些报错
开发语言·数据库·sap·abap
麦聪聊数据2 小时前
连锁零售全域数据管控(下):API 化服务输出,释放全域数据业务价值
数据库
奇树谦2 小时前
NAS + 对象存储 + LMDB/HDF5:海量小文件存储最佳实践
数据库