MySQL Workbench 创建数据库

MySQL Workbench 创建数据库

1.1 打开 MySQL Workbench

  1. 打开 MySQL Workbench。

  2. 点击本地连接,例如 Local instance MySQL80。

  3. 输入 MySQL 密码并进入 SQL 编辑界面。

  4. 点击左上角 Create a new SQL tab for executing queries,新建 SQL 查询窗口。

1.2 创建数据库

在 SQL 编辑窗口粘贴并执行以下代码:

复制代码
DROP DATABASE IF EXISTS fastburgers_db;
CREATE DATABASE fastburgers_db;
USE fastburgers_db;

执行方法:

  • 粘贴代码后,点击闪电图标执行。

  • 如果没有报错,左侧 Schemas 区域点击刷新。

  • 找到 fastburgers_db,双击它,确保后续 SQL 都在这个数据库中运行。

2. 建表代码

2.1 执行建表 SQL

在 Workbench 中新建 SQL tab,粘贴以下全部代码并执行。

复制代码
USE fastburgers_db;
​
CREATE TABLE Store (
    StoreID INT PRIMARY KEY AUTO_INCREMENT,
    StoreName VARCHAR(100) NOT NULL,
    Address VARCHAR(200) NOT NULL,
    City VARCHAR(80) NOT NULL,
    Phone VARCHAR(30)
);
​
CREATE TABLE Customer (
    CustomerID INT PRIMARY KEY AUTO_INCREMENT,
    FirstName VARCHAR(50) NOT NULL,
    LastName VARCHAR(50) NOT NULL,
    Phone VARCHAR(30),
    Email VARCHAR(100)
);
​
CREATE TABLE Menu (
    MenuID INT PRIMARY KEY AUTO_INCREMENT,
    MenuName VARCHAR(100) NOT NULL,
    MenuType VARCHAR(30) NOT NULL,
    StartDate DATE,
    EndDate DATE,
    BreakfastEndTime TIME,
    CHECK (MenuType IN ('Regular', 'Savers'))
);
​
CREATE TABLE Product (
    ProductID INT PRIMARY KEY AUTO_INCREMENT,
    MenuID INT NOT NULL,
    ProductName VARCHAR(100) NOT NULL,
    Category VARCHAR(50) NOT NULL,
    UnitPrice DECIMAL(6,2) NOT NULL,
    IsAvailable BOOLEAN NOT NULL DEFAULT TRUE,
    FOREIGN KEY (MenuID) REFERENCES Menu(MenuID)
);
​
CREATE TABLE Employee (
    EmployeeID INT PRIMARY KEY AUTO_INCREMENT,
    StoreID INT NOT NULL,
    FirstName VARCHAR(50) NOT NULL,
    LastName VARCHAR(50) NOT NULL,
    Role VARCHAR(30) NOT NULL,
    Phone VARCHAR(30),
    HireDate DATE,
    FOREIGN KEY (StoreID) REFERENCES Store(StoreID),
    CHECK (Role IN ('Manager', 'SalesStaff', 'Chef'))
);
​
CREATE TABLE Shift (
    ShiftID INT PRIMARY KEY AUTO_INCREMENT,
    EmployeeID INT NOT NULL,
    StoreID INT NOT NULL,
    ShiftDate DATE NOT NULL,
    StartTime TIME NOT NULL,
    EndTime TIME NOT NULL,
    FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID),
    FOREIGN KEY (StoreID) REFERENCES Store(StoreID)
);
​
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY AUTO_INCREMENT,
    CustomerID INT NOT NULL,
    StoreID INT NOT NULL,
    EmployeeID INT NOT NULL,
    OrderDateTime DATETIME NOT NULL,
    PaymentMethod VARCHAR(20) NOT NULL,
    OrderStatus VARCHAR(30) NOT NULL DEFAULT 'Completed',
    FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
    FOREIGN KEY (StoreID) REFERENCES Store(StoreID),
    FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID),
    CHECK (PaymentMethod IN ('Cash', 'Card'))
);
​
CREATE TABLE OrderItem (
    OrderItemID INT PRIMARY KEY AUTO_INCREMENT,
    OrderID INT NOT NULL,
    ProductID INT NOT NULL,
    Quantity INT NOT NULL,
    UnitPrice DECIMAL(6,2) NOT NULL,
    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),
    FOREIGN KEY (ProductID) REFERENCES Product(ProductID),
    CHECK (Quantity > 0)
);
​
CREATE TABLE Inventory (
    InventoryID INT PRIMARY KEY AUTO_INCREMENT,
    StoreID INT NOT NULL,
    ProductID INT NOT NULL,
    QuantityInStock INT NOT NULL,
    ReorderLevel INT NOT NULL,
    LastUpdatedBy INT NOT NULL,
    FOREIGN KEY (StoreID) REFERENCES Store(StoreID),
    FOREIGN KEY (ProductID) REFERENCES Product(ProductID),
    FOREIGN KEY (LastUpdatedBy) REFERENCES Employee(EmployeeID)
);
​
CREATE TABLE ReorderRequest (
    RequestID INT PRIMARY KEY AUTO_INCREMENT,
    InventoryID INT NOT NULL,
    RequestedBy INT NOT NULL,
    RequestDate DATE NOT NULL,
    RequestedQuantity INT NOT NULL,
    RequestStatus VARCHAR(30) NOT NULL DEFAULT 'Pending',
    FOREIGN KEY (InventoryID) REFERENCES Inventory(InventoryID),
    FOREIGN KEY (RequestedBy) REFERENCES Employee(EmployeeID)
);

2.2 建表后检查

执行:

复制代码
SHOW TABLES;

应看到:

  • Customer

  • Employee

  • Inventory

  • Menu

  • OrderItem

  • Orders

  • Product

  • ReorderRequest

  • Shift

  • Store

2.3 表结构截图方法

方法一:使用 Workbench 左侧导航截图。

  1. 左侧 Schemas 中展开 fastburgers_db。

  2. 展开 Tables。

  3. 右键某张表,例如 Store。

  4. 点击 Table Inspector。

  5. 切换到 Columns 页面。

  6. 截图,放入模板对应位置。


Customer

Employee

Inventory

menu

OrderItem

Orders

Product

ReorderRequest

Shift

Store

方法二:使用 SQL 结果截图。

执行:
DESCRIBE Store;
DESCRIBE Employee;
DESCRIBE Shift;
DESCRIBE Customer;
DESCRIBE Orders;
DESCRIBE OrderItem;
DESCRIBE Menu;
DESCRIBE Product;

相关推荐
千里马学框架3 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone3 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen3 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone3 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui