一、为什么要学 MySQL?—— 数据库是程序员的 “笔记本”
如果你刚接触编程,可能会有这样的疑问:“我写的程序数据存在哪里?关掉电脑就没了吗?”
答案是:数据库。
MySQL 是目前最流行的关系型数据库(没有之一),无论是开发网站、App,还是处理数据,几乎都离不开它。简单来说,数据库就像一个 “超级笔记本”,能帮你永久存储数据、快速查找信息、高效管理复杂关系(比如用户和订单的关联)。
哪怕你不是专业程序员,学会 MySQL 也能帮你处理 Excel 搞不定的大量数据 —— 比如统计 10 万条用户记录、筛选重复信息等。
二、MySQL 基础:3 个核心概念,5 分钟搞懂
1. 数据库(Database):存放 “笔记本” 的文件夹
数据库是一个容器,里面可以放很多张 “表”。比如 “学校数据库” 里可以有 “学生表”“课程表”“成绩表”。
2. 表(Table):结构化的 “表格”
表是数据库的核心,长得和 Excel 表格很像,由行(Row) 和列(Column) 组成:
列(字段):定义数据的类型,比如 “姓名”(文本)、“年龄”(数字)、“生日”(日期)。
行(记录):实际的数据,比如 “张三,18 岁,2005-01-01”。
3. SQL 语言:和数据库 “对话” 的工具
SQL(结构化查询语言)是操作数据库的 “普通话”,无论你用 MySQL、Oracle 还是 SQL Server,都能看懂。比如:
查数据:“帮我找出所有 18 岁的学生”
存数据:“新增一条学生记录”
三、SQL 入门:最常用的 5 类操作(附实例)
假设我们有一个students表,结构如下(先不用纠结怎么创建,后面会讲):
字段名 类型 说明
id INT 学号(唯一)
name VARCHAR(50) 姓名
age INT 年龄
gender VARCHAR(2) 性别
1. 创建表:CREATE TABLE
想存数据,先得有表。用CREATE TABLE定义表结构:
sql
-- 创建学生表
CREATE TABLE students (
id INT PRIMARY KEY, -- 主键(唯一标识,类似身份证)
name VARCHAR(50) NOT NULL, -- 姓名,非空(必须填) a
ge INT, -- 年龄,可空(不填默认NULL)
gender VARCHAR(2) -- 性别,如“男”“女”
);
关键参数:
PRIMARY KEY:主键,确保每行数据唯一(比如学号不能重复)。
NOT NULL:非空约束,该字段必须填值。
VARCHAR(50):字符串类型,最长 50 个字符(存姓名足够了)。
2. 插入数据:INSERT INTO
表建好后,用INSERT INTO添加记录(行):
sql
-- 插入1条数据
INSERT INTO students (id, name, age, gender)
VALUES (1, '张三', 18, '男');
-- 批量插入多条数据(推荐)
INSERT INTO
students (id, name, age, gender)
VALUES
(2, '李四', 19, '女'),
(3, '王五', 18, '男');
注意:
字段顺序要和值一一对应。
字符串用单引号' '包裹(如'张三')。
3. 查询数据:SELECT
这是最常用的操作 —— 从表中 “捞数据”。
sql
万能公式:SELECT 字段 FROM 表名 WHERE 条件 ORDER BY 排序字段
4. 修改数据:UPDATE
数据错了?用UPDATE修改(一定要加WHERE,否则会改全表!):
sq
-- 查所有数据(*表示所有字段)
SELECT * FROM students;
-- 查指定字段(只看姓名和年龄)
SELECT name, age FROM students;
-- 带条件查询(找18岁的学生)
SELECT * FROM students WHERE age = 18;
-- 排序(按年龄从小到大)
SELECT * FROM students ORDER BY age ASC; -- ASC升序,DESC降序
警告:如果忘记写WHERE,会导致所有行的age都变成 19,新手很容易踩坑!
5. 删除数据:DELETE
删除不需要的记录(同样要加WHERE,否则清空表):
sql
-- 把张三的年龄改成19(只改id=1的记录)
UPDATE students SET
age = 19
WHERE id = 1;
补充:如果想清空表但保留结构,用TRUNCATE(速度更快):
sql
-- 删除id=3的学生
DELETE FROM students WHERE id = 3;
四、新手必踩的 3 个坑,避开就是赢
中英文符号混淆
SQL 里所有符号必须用英文!比如逗号,、引号'、分号;。如果用了中文逗号,,会报ERROR 1064。
忘记加WHERE
UPDATE和DELETE不带WHERE会操作全表,比如UPDATE students SET age=20会把所有学生年龄改成 20。建议操作前先用SELECT验证条件:
sql TRUNCATE TABLE students; -- 清空表,id会重置(自增主键场景)
数据类型不匹配
比如给age(INT 类型)插入字符串'十八',会报Incorrect integer value错误。记住:数字不用加引号,字符串必须加引号。
五、怎么练习?—— 3 步上手实操
安装 MySQL:
新手推荐用「phpStudy」或「XAMPP」,一键安装 MySQL + 管理工具(图形化界面,不用记命令)。
用终端连接:
打开命令行,输入mysql -u root -p,回车后输入密码(默认可能为空),看到mysql>就成功了。
跟着敲代码:
复制文中的CREATE TABLE和INSERT语句,逐行执行,再用SELECT查看结果 —— 动手比只看重要 100 倍!
六、总结:MySQL 学习路线
新手阶段,掌握这些就够了:
会用CREATE TABLE创建表,定义字段类型和约束。
熟练INSERT存数据、SELECT查数据。
谨慎使用UPDATE和DELETE,记得加WHERE。
后续可以深入学习索引(加速查询)、联表查询(处理多表关系)、事务(保证数据一致性)等进阶知识。
数据库是编程的基础,学好 MySQL,无论是做开发还是数据分析,都会如虎添翼。现在就打开终端,敲下第一行CREATE TABLE吧!