news 2026/7/30 11:56:22

在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/7/29 5:24:02

Wan2.2-T2V-A14B五大生态工具全解析

Wan2.2-T2V-A14B五大生态工具全解析 在影视预演、广告创意和数字内容生产领域,一个现实问题正日益凸显:传统视频制作流程冗长、成本高昂,而市场对内容更新速度的要求却在不断攀升。当一支品牌广告从策划到成片需要两周时间,竞争对…

作者头像 李华
网站建设 2026/7/30 4:01:12

一、为什么 Spring Boot 成为 Java 开发者的首选?​

在 Spring 框架称霸 Java 生态的年代,开发者常常被繁琐的配置文件 “劝退”——XML 配置堆砌、依赖版本冲突、环境搭建复杂,这些问题让项目启动成本居高不下。而 Spring Boot 的诞生,正是为了解决 “配置地狱”,它基于 “约定优于…

作者头像 李华
网站建设 2026/7/24 8:17:42

基于深度学习的口罩识别系统(UI界面+YOLOv8/v7/v6/v5代码+训练数据集)

摘要 随着全球公共卫生意识的提高,口罩识别技术在疫情防控、智能安防和公共卫生管理中扮演着日益重要的角色。本文详细介绍了一种基于YOLO(You Only Look Once)系列算法的口罩识别系统,该系统整合了YOLOv5、YOLOv6、YOLOv8和最新发布的YOLOv10算法,并配备了完整的用户界面…

作者头像 李华
网站建设 2026/7/27 17:40:31

LobeChat支持哪些大语言模型?主流LLM兼容性一览

LobeChat 支持哪些大语言模型?主流LLM兼容性一览 在智能对话系统日益普及的今天,一个核心问题摆在开发者和用户面前:如何在一个界面中灵活使用 GPT、Claude、通义千问、Llama 等不同来源的大模型,而不必反复切换网页或工具&#x…

作者头像 李华
网站建设 2026/7/30 4:27:40

LobeChat:构建现代AI聊天应用的全栈指南

LobeChat:构建现代 AI 聊天应用的全栈实践 在大语言模型重塑人机交互方式的今天,一个直观、灵活且安全的聊天界面,已经成为连接用户与智能的核心入口。无论是个人开发者想打造专属的知识助手,还是企业需要定制化的客服系统&#x…

作者头像 李华
网站建设 2026/7/29 21:17:06

YOLO-v5与TensorRT训练部署全流程指南

YOLO-v5与TensorRT训练部署全流程指南 在工业视觉、智能安防和自动驾驶等领域,实时目标检测早已不再是“有没有”的问题,而是“快不快、准不准、稳不稳”的工程较量。YOLO系列凭借其端到端的简洁架构和卓越的速度-精度平衡,成为无数落地项目的…

作者头像 李华