Mysql指南大全(新手也能轻松掌握的Mysql教程)第四卷

简介: 教程来源:https://app-a6nw7st4g741.appmiaoda.com/ 本文系统讲解MySQL核心知识:第八章详解事务ACID特性与操作(START TRANSACTION/COMMIT/ROLLBACK);第九章涵盖用户管理、权限控制及备份恢复;第十章通过订单系统实战,演示建库建表、关联设计与复杂查询。附SQL速查表,助力快速上手。

第八章 事务与并发控制
8.1 事务特性(ACID)
image.png
8.2 事务操作
-- 开始事务
START TRANSACTION;

-- 执行操作
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;

-- 提交事务(确认更改)
COMMIT;

-- 或回滚事务(撤销更改)
ROLLBACK;
第九章 安全管理
9.1 用户管理
-- 创建用户
CREATE USER 'app_user'@'localhost' IDENTIFIED BY '密码';

-- 授予权限
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'app_user'@'localhost';

-- 查看权限
SHOW GRANTS FOR 'app_user'@'localhost';

-- 撤销权限
REVOKE DELETE ON mydb.* FROM 'app_user'@'localhost';

-- 删除用户
DROP USER 'app_user'@'localhost';
9.2 备份与恢复

备份

mysqldump -u root -p 数据库名 > backup.sql

恢复

mysql -u root -p 数据库名 < backup.sql
第十章 完整案例实战:订单系统
下面综合运用所学知识,创建一个完整的订单系统。
-- 创建数据库
CREATE DATABASE IF NOT EXISTS shop
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

USE shop;

-- 用户表
CREATE TABLE IF NOT EXISTS users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户ID',
username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
phone VARCHAR(20) NOT NULL COMMENT '手机号',
status TINYINT(1) DEFAULT 1 COMMENT '状态:1启用0禁用',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
PRIMARY KEY (id),
INDEX idx_phone (phone)
) ENGINE=InnoDB COMMENT='用户表';

-- 商品表
CREATE TABLE IF NOT EXISTS products (
id INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品ID',
name VARCHAR(200) NOT NULL COMMENT '商品名称',
price DECIMAL(10,2) UNSIGNED NOT NULL COMMENT '价格',
stock INT UNSIGNED DEFAULT 0 COMMENT '库存',
status TINYINT(1) DEFAULT 1 COMMENT '上架状态',
PRIMARY KEY (id),
INDEX idx_name (name)
) ENGINE=InnoDB COMMENT='商品表';

-- 订单表
CREATE TABLE IF NOT EXISTS orders (
id INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单ID',
user_id INT UNSIGNED NOT NULL COMMENT '用户ID',
total_amount DECIMAL(10,2) UNSIGNED NOT NULL COMMENT '订单金额',
status ENUM('pending','paid','shipped','completed','cancelled')
DEFAULT 'pending' COMMENT '订单状态',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
paid_at TIMESTAMP NULL COMMENT '支付时间',
PRIMARY KEY (id),
INDEX idx_user (user_id),
INDEX idx_status (status),
FOREIGN KEY (user_id) REFERENCES users(id)
) ENGINE=InnoDB COMMENT='订单表';

-- 插入测试数据
INSERT INTO users(username, phone) VALUES
('张三', '13800138001'),
('李四', '13800138002'),
('王五', '13800138003');

INSERT INTO products(name, price, stock) VALUES
('笔记本电脑', 5999.00, 10),
('无线鼠标', 89.90, 100),
('机械键盘', 299.00, 50);

-- 复杂查询示例:查询每个用户的订单总额
SELECT
u.username,
COUNT(o.id) AS 订单数,
IFNULL(SUM(o.total_amount), 0) AS 消费总额
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id
ORDER BY 消费总额 DESC;
附录:SQL语句速查表
image.png
结语
MySQL作为全球最受欢迎的开源数据库,入门简单但内涵丰富。本文从零开始,系统介绍了数据库基础、安装配置、表操作、数据查询、索引优化、事务管理、安全控制等核心知识,并通过完整案例演示了实际应用。

正如课程简介所言:“你指尖跳跃的信息,与云端的数据洪流,你思想的火花,与万物互联的智慧,仅仅一线相隔。”掌握MySQL,你就掌握了连接现实世界与数据世界的那把钥匙。
来源:
https://app-a6nw7st4g741.appmiaoda.com/

相关文章
|
5月前
|
传感器 存储 安全
嵌入式进阶指南:从“代码搬运工”到“系统架构师”的跃迁之路
教程来源 https://app-a87ujc988w01.appmiaoda.com/ 《嵌入式进阶指南》助力开发者从“代码搬运工”跃升为“系统架构师”。涵盖性能调优、RTOS内核剖析、嵌入式安全、系统架构设计及功耗管理五大核心维度,融合RISC-V、TinyML等前沿趋势,提供实战路径与深度原理。
|
5月前
|
传感器 人工智能 算法
嵌入式高阶知识大全(第二卷)
教程来源 https://app-a7illrp9pngh.appmiaoda.com/ 本指南涵盖嵌入式高阶核心技术:性能调优(链接脚本定制、编译优化、ETM/PMU剖析)、功耗管理(DVFS、睡眠模式、电源门控);前沿范式(RISC-V开源生态、TinyML轻量化部署、软硬件协同与存内计算);及系统级思维、严谨性与持续学习能力——助你突破瓶颈,迈向高阶工程师。
|
5月前
|
Java 测试技术 开发者
Spring学习知识点大全(一)
教程来源 https://app-abdss1rim1oh.appmiaoda.com Spring是Java企业级开发的事实标准框架,以轻量、非侵入和强大DI/AOP为核心,涵盖IoC容器、AOP、数据访问、Web及测试等全栈能力。本文系统梳理其基础概念、Bean管理、依赖注入与生命周期等核心知识,助力初学者构建体系,赋能开发者深入进阶。
|
5月前
|
消息中间件 NoSQL Linux
嵌入式开发新手入门教程(第二卷)
教程来源 https://app-a7illrp9pngh.appmiaoda.com/ 本课程系统讲解嵌入式软件设计核心知识:涵盖嵌入式C编程、Linux开发、系统编程与设备驱动;前瞻边缘智能(TinyML)、RISC-V架构及工具链演进趋势;强调“硬件→裸机→RTOS→Linux”渐进路径与动手实践,助你夯实基础、迈向万物互联。
|
5月前
|
传感器 机器人 Linux
嵌入式开发新手入门教程(第一卷)
教程来源 https://app-a6nw7st4g741.appmiaoda.com/ 嵌入式系统是嵌入设备内部的专用计算机系统,广泛应用于智能手表、汽车电控、医疗设备乃至火星车等。其由硬件(MCU、存储器、外设)和软件(裸机/RTOS/嵌入式Linux)构成。新手可按电路与C语言→单片机开发→RTOS与ARM深入三阶段学习,推荐STM32平台入门。
|
4月前
|
缓存 安全 PHP
PHP实战:从零到一构建企业级应用(一)
教程来源 本文以实战为导向,通过构建企业级用户管理系统,系统讲解PHP开发全流程:从Docker环境搭建、PSR-4自动加载、RBAC权限设计,到MySQL数据库建模、Phinx迁移、JWT认证、Redis缓存、日志审计与安全防护,助你跨越理论与实践鸿沟。
|
7月前
|
JavaScript 安全 前端开发
Playwright与JIRA集成:实现缺陷自动创建与追踪
本文将分享如何将Playwright与JIRA深度集成,实现测试失败时自动创建缺陷并实时跟踪。从环境配置到代码实战,手把手教你构建这套高效的质量闭环系统,让测试效率提升70%。
|
2月前
|
人工智能 弹性计算 缓存
Qoder x 阿里云DevBox:让 AI 在 云开发机DevBox 里 "放开手脚"
Qoder × 阿里云 DevBox 开启云端AI编程新范式:将开发环境移至云端沙箱,实现算力解耦、全球加速、安全隔离与极致轻盈——0.1元/小时,一键直连,让AI自由执行、验证、重构,本地只留灵感。
|
5月前
Dataphin登录系统重磅升级:界面化SSO配置、多账号登录功能上线
Dataphin V6.0推出界面化SSO配置与多账号体系登录功能,支持CAS、OAuth2.0、SAML、飞书等多种协议,解决旧版配置复杂、不支持多源登录等痛点,提升企业单点登录体验与管理效率。
425 0
|
存储 缓存 安全
HashMap VS TreeMap:谁才是Java Map界的王者?
HashMap VS TreeMap:谁才是Java Map界的王者?
817 2