MySQL 入门实战:从建库建表到常用查询

举报
yd_293554343 发表于 2026/10/28 10:10:55 2026/10/28
【摘要】 从建库建表到常用查询,用学生成绩例子带新手走通 MySQL 基本操作,并总结常见坑与下一步学习路线。

MySQL 是最常用的开源关系型数据库之一,学会建库建表和常用查询,就能应付大部分日常开发和数据分析工作。本文用一个简单的学生成绩例子,带你从零走通 MySQL 的基本操作。

一、建库建表

先创建一个数据库,再在库里建一张学生表。CREATE DATABASE 用来建库,CREATE TABLE 用来建表,建表时要给每个字段定好类型和约束。

CREATE DATABASE school DEFAULT CHARSET utf8mb4;

USE school;

CREATE TABLE student (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age INT,
  score DECIMAL(5,2),
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

utf8mb4 是推荐的字符集,能存中文和表情;AUTO_INCREMENT 让主键自增;NOT NULL 表示该字段不能为空。

二、插入与查询

用 INSERT 写入数据,用 SELECT 查出来,WHERE 用来筛选条件。

INSERT INTO student (name, age, score) VALUES ('小明', 18, 88.5), ('小红', 19, 92.0), ('小刚', 18, 76.5);

SELECT * FROM student;

SELECT name, score FROM student WHERE age = 18;

注意:INSERT 的字段顺序要和值的顺序一一对应;查全表用 *,只查需要的列就写列名,能少传很多数据。

三、常用查询技巧

排序与分页

ORDER BY 排序,LIMIT 取前几条,两者常一起做分页。

SELECT name, score FROM student ORDER BY score DESC LIMIT 3;

SELECT * FROM student ORDER BY id LIMIT 0, 10;

聚合函数

COUNT 计数,SUM 求和,AVG 求平均,MAX 和 MIN 取最大最小值,配合 GROUP BY 还能按分组统计。

SELECT COUNT(*) AS total, AVG(score) AS avg_score FROM student;

SELECT age, COUNT(*) AS cnt FROM student GROUP BY age;

四、新手常踩的坑

  1. 忘记写 WHERE 条件就执行 UPDATE 或 DELETE,结果改掉或删掉整张表的数据。动手前先用 SELECT 把条件验证一遍。
  2. 字符集不一致导致中文乱码,建库建表时统一用 utf8mb4。
  3. 把密码、密钥写进 SQL 脚本或提交到代码仓,敏感信息要单独保管。
  4. 在 VARCHAR 字段上存数字再做比较,'100' < '20' 这样的字符串比较会得到错误结果。
  5. 大表查询不加索引还用 SELECT *,越查越慢,先看执行计划再优化。

五、下一步学习建议

掌握了建库建表和常用查询之后,可以继续学 JOIN 多表关联、事务 保证数据一致、索引 优化查询速度,再结合实际项目做一个小型应用,把 SQL 真正用起来。遇到问题先去看官网文档,动手试一遍比只看十遍记得牢。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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