mysql数据库怎么用、用这个关键词,以“当年明月”幽默的语
mysql数据库怎么用

首页 2025-09-02 19:02:56

我,前御膳房主厨,现东城区第一BUG制造师,今天必须给大家讲一讲MySQL这口“大锅”的用法。别被名字里的“My”吓到,它既不卖萌也不属于我,它属于全天下想煮数据的厨子——哦不,程序员。
想当年我翻锅炒宫保鸡丁,现在翻表炒数据,手法一样,都是先起锅烧油——哦不对,先启动服务。
第一步:点火。
Windows同学请打开“服务”,找到MySQL,啪一下点“启动”,就像点燃灶眼;Mac/Linux同学请祭出咒语:brew services start mysqlsystemctl start mysqld,声音要大,气势要足,不然数据库以为你是来蹭饭的。
第二步:备料。
数据库里的料就是“库”“表”“字段”。库是仓库,表是案板,字段是葱姜蒜。先建仓库:CREATE DATABASE xiaochao DEFAULT CHARSET utf8mb4;,记住utf8mb4,它能存emoji,万一以后你想给差评加个💔呢?
再建案板:USE xiaochao; CREATE TABLE menu(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(64), price DECIMAL(8,2), spicy_level TINYINT);,这里AUTO_INCREMENT就是自动加火,不用你每次手动添柴。
第三步:炒菜。
添数据:INSERT INTO menu(name,price,spicy_level) VALUES('辣子鸡',28.5,5);,火侯要稳,字符要用单引号包,不然数据库以为你在骂它。
翻锅查询:SELECT * FROM menu WHERE spicy_level>3 ORDER BY price DESC;,这句意思是“把最辣还最便宜的菜先端上来”,结果一出来,我眼泪都辣出来了——全是我的青春。
第四步:洗锅。
锅要洗,数据也要清。DELETE FROM menu WHERE name='黑暗料理';,万一删错?别慌,ROLLBACK是时光机——前提是你开着事务:START TRANSACTION; DELETE …; ROLLBACK;,嗖一下,菜又回去了,像极了前任。
第五步:叫外卖。
总不能让顾客亲自进厨房吧?把数据库连到你的网页、小程序、智能烤冷面机上,用的是“连接串”:
mysql -h127.0.0.1 -uroot -p123456 xiaochao
输入密码时屏幕一动不动,别怀疑,它正偷偷帮你数星星。
第六步:菜做多了怎么办?
加索引:CREATE INDEX idx_spicy ON menu(spicy_level);,相当于给辣椒面贴上标签,找起来嗖嗖的。
分区、分库、分表?那是开连锁店,咱先别急着上市。
用完关灶:QUIT;exit;,锅冷了记得盖盖儿,数据怕老鼠——哦不,怕停电。
至此,一个厨子成功把MySQL炒成了一份麻辣鲜香的数据大餐。诸位看官若还意犹未尽,且听我下面拆成十八道工序,手把手教你把这份“菜谱”抄回家。

《零基础也能煮好MySQL:十八步厨房级实战教程》
  1. 环境准备
    • 官网下载MySQL Community Server,选和你系统匹配的版本,别选成源代码,那是给武林高手练内功的。
    • 安装时记住root密码,最好写在不粘锅背面,防爸妈也防自己。
  2. 启动与登录
    Windows:Win+R→services.msc→MySQL→启动。
    Mac:终端执行brew services start mysql
    登录:mysql -uroot -p,回车后输入密码,看到mysql>提示符,恭喜你已站在灶台前。
  3. 创建数据库
    CREATE DATABASE IF NOT EXISTS xiaochao DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
  4. 选用数据库
    USE xiaochao;
  5. 创建表
    复制
    CREATE TABLE menu (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(64) NOT NULL,
        price DECIMAL(8,2) NOT NULL DEFAULT 0.00,
        spicy_level TINYINT NOT NULL DEFAULT 0,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
  6. 插入数据
    复制
    INSERT INTO menu(name,price,spicy_level)
    VALUES('辣子鸡',28.5,5),
          ('番茄炒蛋',15.0,1);
  7. 查询数据
    • 全表:SELECT * FROM menu;
    • 条件:SELECT * FROM menu WHERE spicy_level>=3;
    • 排序:SELECT * FROM menu ORDER BY price DESC LIMIT 3;
  8. 更新数据
    UPDATE menu SET price=price+2 WHERE name='辣子鸡';
  9. 删除数据
    DELETE FROM menu WHERE id=2;
  10. 备份
    命令行:mysqldump -uroot -p xiaochao > xiaochao.sql
  11. 恢复
    mysql -uroot -p xiaochao < xiaochao.sql
  12. 创建普通用户并授权
    复制
    CREATE USER 'chef'@'%' IDENTIFIED BY '123456';
    GRANT SELECT,INSERT,UPDATE,DELETE ON xiaochao.* TO 'chef'@'%';
    FLUSH PRIVILEGES;
  13. 图形化工具
    不想天天背命令?装个DBeaver或Navicat,点点鼠标就能翻锅,但面试时还是得背,别偷懒。
  14. 索引优化
    • 查看慢查询日志,找出拖慢锅气的SQL。
    EXPLAIN SELECT …看是否用到索引,没用就CREATE INDEX
  15. 事务示例
    复制
    START TRANSACTION;
    UPDATE account SET balance=balance-10 WHERE id=1;
    UPDATE account SET balance=balance+10 WHERE id=2;
    COMMIT;
  16. 常见问题
    • 中文乱码:确保库、表、连接全用utf8mb4。
    • 连不上:检查防火墙、端口3306、密码。
    • 忘记root密码:停服务,加--skip-grant-tables启动,改完再重启。
  17. 升级与补丁
    小版本直接覆盖安装,大版本请用mysql_upgrade,记得先备份,别学我上次把锅炸了。
  18. 卸载
    Windows控制面板→卸载;Mac brew uninstall mysql;Linux看发行版。卸载前记得备份,别把秘方也扔了。
  19. 继续深造
    官方文档是《九阳真经》,Planet MySQL博客是江湖八卦,Stack Overflow是急救站。练到第六层,你就能在简历上写“精通MySQL”,然后继续踩更深的坑。
至此,灶已冷,锅已净,数据已飘香。诸位少侠,端好你们的SQL大勺,江湖见!
MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道