帮我写一个mysql ,创建一个数据库,里面要求有3个或3个以上的表;每个表中有主键,主键设置自增字段:每个表至少3个或3个以上字段:要求表设计合理,符合客观实际应用。每表写入至少10条数据,并设计创建对应 日外键,并且使用 sgl连接查询出来某条记录。
时间: 2024-12-07 21:19:43 浏览: 32
在MySQL中,我们可以按照以下步骤来创建一个包含三个表的数据库,每个表都有主键、自增字段和其他必要的字段,并且包含一些示例数据。这里假设我们正在创建一个简单的用户、订单和产品数据库。
首先,我们需要创建一个名为`CompanyDB`的数据库:
```sql
CREATE DATABASE CompanyDB;
USE CompanyDB;
-- 创建用户表 Users
CREATE TABLE Users (
UserID INT AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Email VARCHAR(100) UNIQUE NOT NULL
);
-- 插入10条用户数据
INSERT INTO Users (FirstName, LastName, Email)
VALUES ('Alice', 'Smith', 'alice.smith@example.com'),
('Bob', 'Johnson', 'bob.johnson@example.com'),
...; // 其他8条数据
-- 创建订单表 Orders
CREATE TABLE Orders (
OrderID INT AUTO_INCREMENT,
UserID INT,
ProductID INT,
OrderDate DATE,
FOREIGN KEY (UserID) REFERENCES Users(UserID),
PRIMARY KEY (OrderID)
);
-- 插入10条订单数据
INSERT INTO Orders (UserID, ProductID, OrderDate)
VALUES (1, 1, '2023-01-01'),
(2, 2, '2023-01-02'),
...; // 其他8条数据
-- 创建产品表 Products
CREATE TABLE Products (
ProductID INT AUTO_INCREMENT PRIMARY KEY,
ProductName VARCHAR(100) NOT NULL,
Price DECIMAL(10,2) NOT NULL,
Category VARCHAR(50) NOT NULL
);
-- 插入10条产品数据
INSERT INTO Products (ProductName, Price, Category)
VALUES ('Laptop', 999.99, 'Electronics'),
('T-Shirt', 19.99, 'Clothing'),
...; // 其他7条数据
-- 使用INNER JOIN查询某个特定用户的所有订单
SELECT Users.FirstName, Users.LastName, Orders.OrderID, Products.ProductName
FROM Users
INNER JOIN Orders ON Users.UserID = Orders.UserID
INNER JOIN Products ON Orders.ProductID = Products.ProductID
WHERE Users.FirstName = 'Alice';
```
阅读全文