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

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

第一步:创建数据库

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

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

结论

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

相关推荐
m0_734949792 小时前
MySQL如何配置定时清理过期备份文件_find命令与保留周期策略
jvm·数据库·python
m0_514520572 小时前
MySQL索引优化后性能没提升_通过EXPLAIN查看索引命中率
jvm·数据库·python
NaMM CHIN2 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
不瘦80斤不改名2 小时前
深入浅出 MySQL(一):一文理清 SQL 核心规范与五大分类
数据库·sql·mysql
woniu_buhui_fei3 小时前
MySQL知识整理二
数据库·mysql
Polar__Star3 小时前
如何在 AWS Lambda 中正确使用临时凭证生成 S3 预签名 URL
jvm·数据库·python
Lucifer三思而后行3 小时前
zCloud 中 Oracle 实例状态未知问题记录
数据库·oracle
island13144 小时前
最详细VMware Workstation 17 上安装 Ubuntu 系统
linux·数据库·ubuntu
卢傢蕊4 小时前
MongoDB
数据库·mongodb
m0_743623924 小时前
React 自定义 Hook 的命名规范与调用规则详解
jvm·数据库·python