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 而不是字符串,后面按时间范围查询才方便。把账本这个比喻记牢,再去看事务、权限、备份恢复这些进阶概念,就都有地方安放了。
- 点赞
- 收藏
- 关注作者
评论(0)