MySQL 入门:先把数据库想成一本带目录的账本

举报
yd_283294818 发表于 2026/11/08 09:20:20 2026/11/08
【摘要】 很多新手第一次打开 MySQL,看到一堆表和命令就发怵。其实可以先把数据库想成一本账本:整本账本是一个数据库(database),账本里的每一页是一种账目,也就是一张表(table);页上的每一行是一条记录(row),每一列是记账时要填的栏目(column),比如姓名、金额、日期。先把这四个词对应起来,MySQL 的一半概念就通了。一、先把账本建起来使用 MySQL 大致分三步。第一步建库:...

很多新手第一次打开 MySQL,看到一堆表和命令就发怵。其实可以先把数据库想成一本账本:整本账本是一个数据库(database),账本里的每一页是一种账目,也就是一张表(table);页上的每一行是一条记录(row),每一列是记账时要填的栏目(column),比如姓名、金额、日期。先把这四个词对应起来,MySQL 的一半概念就通了。

一、先把账本建起来

使用 MySQL 大致分三步。第一步建库:CREATE DATABASE shop; 相当于备好一本新账本,并给它起个名字。第二步建表:CREATE TABLE orders (id INT PRIMARY KEY, name VARCHAR(50), amount DECIMAL(10,2), created_at DATETIME); 这一步像是在账页上画好表格线,顺便规定每一列写什么类型的数据:INT 是整数,VARCHAR 是短文本,DECIMAL 适合记金额,DATETIME 记录时间。其中的 PRIMARY KEY 是主键,可以理解为每条记录的唯一编号,不许重复。第三步,才是正式往里面记账。

二、四条最常用的命令

查账用 SELECT:SELECT * FROM orders WHERE amount > 100; 意思是把 orders 这页里金额大于 100 的行都找出来,星号表示所有列都显示。记新账用 INSERT:INSERT INTO orders VALUES (1, '键盘', 299.00, NOW()); 改错账用 UPDATE:UPDATE orders SET amount = 259.00 WHERE id = 1; 删账用 DELETE:DELETE FROM orders WHERE id = 1; 新手最容易出的事故,就是 UPDATE 和 DELETE 时忘了写 WHERE 条件,一次误伤全表。所以要养成习惯:改之前先用同样的 WHERE 条件 SELECT 一遍,确认范围没错,再执行修改。

三、索引就是账本的目录

账本厚了以后,逐页翻找一条记录会非常慢。索引的作用就像书前面的目录:给某一列(比如 name)建上索引,数据库就能按目录直接定位,而不是一行一行地扫描。建索引的命令是 CREATE INDEX idx_name ON orders(name); 代价是每记一笔新账,都要同步更新目录,所以索引不是越多越好,给经常用来查询的列建就够了。

四、给新手的三个小习惯

第一,动手前先备份,重要数据先导出一份再改。第二,先在测试库里练命令,确认无误再到正式环境执行。第三,数据要选对类型:金额用 DECIMAL 而不是浮点数,避免出现 0.1 加 0.2 不等于 0.3 的尴尬;日期用 DATETIME 而不是字符串,后面按时间范围查询才方便。把账本这个比喻记牢,再去看事务、权限、备份恢复这些进阶概念,就都有地方安放了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。