news 2026/4/16 10:53:19

在MySQL中创建数据库和表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在MySQL中创建数据库和表

1.登录MySQL数据库

mysql -u root -p

然后输入你的密码:********

如果出现mysql: command not found错误,说明MySQL命令行工具没有在PATH中,需要:

  • 使用绝对路径:/usr/local/mysql/bin/mysql -u root -p

  • 或者将MySQL添加到PATH环境变量

2.创建数据库

登录成功后,输入以下SQL语句:

-- 创建数据库时指定字符集 CREATE DATABASE my_demo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 使用这个数据库 USE my_demo_db;

3.创建两张有外键关系的表

先创建父表(主表)

-- 创建用户表(指定字符集) CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(100) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

再创建子表(从表)

-- 创建订单表(指定字符集) CREATE TABLE orders ( order_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, product_name VARCHAR(100) NOT NULL, amount DECIMAL(10, 2) NOT NULL, order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

4.查看创建的表结构

-- 查看所有表 SHOW TABLES; -- 查看表结构 DESCRIBE users; DESCRIBE orders; -- 或使用更详细的查看方式 SHOW CREATE TABLE users; SHOW CREATE TABLE orders;

5.插入测试数据

-- 向users表插入数据 INSERT INTO users (username, email) VALUES ('张三', 'zhangsan@example.com'), ('李四', 'lisi@example.com'); -- 向orders表插入数据(注意:user_id必须存在于users表中) INSERT INTO orders (user_id, product_name, amount) VALUES (1, '笔记本电脑', 5999.99), (1, '鼠标', 89.50), (2, '手机', 2999.00), (2, '耳机', 399.00);

6.验证外键关系

-- 查询关联数据 SELECT u.username, u.email, o.product_name, o.amount, o.order_date FROM users u JOIN orders o ON u.id = o.user_id; -- 测试外键约束(这应该会失败,因为user_id=999不存在) INSERT INTO orders (user_id, product_name, amount) VALUES (999, '测试产品', 100.00); -- 测试级联删除(删除用户时,其所有订单也会被删除) DELETE FROM users WHERE id = 1; -- 查看删除后的数据 SELECT * FROM users; SELECT * FROM orders;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 8:45:37

YOLO-V5快速入门:从下载到检测实战

YOLO-V5实战入门:从零开始构建你的第一个目标检测系统 在工业质检线上,摄像头扫过流水线,瞬间识别出缺失零件的电路板;在楼宇大堂,门禁系统自动判断行人是否佩戴口罩;在农田上空,无人机飞过便能…

作者头像 李华
网站建设 2026/4/10 20:45:44

施乐5571打印机故障代码093-971解决方案

嘿,朋友们!如果你使用施乐5571打印机,那么可能会遇到093-971这个错误代码。相信我,我见过太多这样的情况,这往往让人不知所措。但别担心,这里有一些简单的解决技巧可以帮到你。染料盒安装不当引发的错误 &a…

作者头像 李华
网站建设 2026/4/11 10:58:35

FLUX.1-ControlNet-Union配置指南:30分钟上手AI绘图

FLUX.1-ControlNet-Union配置指南:30分钟上手AI绘图 在AI绘画领域,模型能力越强,部署门槛往往也越高。面对复杂的依赖关系、显存限制和加载报错,许多用户还没开始创作就已放弃。但如果你正寻找一个既能释放顶级生成质量&#xff0…

作者头像 李华
网站建设 2026/4/13 17:49:46

如何将通义千问/Qwen接入LobeChat?完整配置流程

如何将通义千问/Qwen接入LobeChat?完整配置流程 在构建AI助手的浪潮中,越来越多开发者不再满足于“能用”,而是追求“好用”——既要强大的语言能力,也要流畅自然的交互体验。如果你正在寻找一个既能发挥国产大模型中文优势&#…

作者头像 李华
网站建设 2026/4/16 9:12:17

GPT-OSS-20B本地部署与多维度实测

GPT-OSS-20B本地部署与多维度实测 在大模型应用逐步从“云端霸权”走向“边缘可控”的今天,一个令人振奋的趋势正在浮现:我们不再需要依赖昂贵的GPU集群或闭源API,也能在普通笔记本上运行具备类GPT-4水平的语言模型。2025年,随着开…

作者头像 李华
网站建设 2026/4/12 21:19:00

Dify:低代码构建大语言模型应用

Dify:重新定义大语言模型应用的开发方式 在今天,几乎每家企业都在思考同一个问题:如何让大语言模型(LLM)真正落地到业务中?不是停留在 POC 阶段,也不是靠几个“Prompt 工程师”手动调优&#x…

作者头像 李华