MySQL Workbench 创建数据库
MySQL Workbench 创建数据库1.1 打开 MySQL Workbench打开 MySQL Workbench。点击本地连接例如Local instance MySQL80。输入 MySQL 密码并进入 SQL 编辑界面。点击左上角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;应看到CustomerEmployeeInventoryMenuOrderItemOrdersProductReorderRequestShiftStore2.3 表结构截图方法方法一使用 Workbench 左侧导航截图。左侧Schemas中展开fastburgers_db。展开Tables。右键某张表例如Store。点击Table Inspector。切换到Columns页面。截图放入模板对应位置。CustomerEmployeeInventorymenuOrderItemOrdersProductReorderRequestShiftStore方法二使用 SQL 结果截图。执行DESCRIBE Store;DESCRIBE Employee;DESCRIBE Shift;DESCRIBE Customer;DESCRIBE Orders;DESCRIBE OrderItem;DESCRIBE Menu;DESCRIBE Product;