mysql基础语法有哪些?新手入门必看的知识点汇总

来源:Vuejs教程作者:向日葵头衔:草根站长
导读:本期聚焦于向日葵创作的《mysql基础语法有哪些?新手入门必看的知识点汇总》,敬请观看详情。数据库操作离不开SQL语句,而MySQL作为使用最广泛的开源数据库,掌握它的基础语法是每个后端开发者的必修课。本文系统整理了MySQL入门阶段必须掌握的核心语法,包括数据库与表的创建、增删改查四大操作、条件查询与排序分页、常用聚合函数以及多表连接查询等内容。文中配有可直接运行的SQL代码示例,并对每条语句的作用和注意事项做了通俗解释,帮助你快速理解字段类型选择、主键设置、WHERE与HAVING的区别这些容易踩坑的知识点。无论你是刚接触数据库的初学者,还是想系统回顾SQL基础的开发者,这篇文章都能帮你搭建完整的知识框架。

学后端开发绕不开数据库,而MySQL几乎是所有项目的标配。刚入门的时候,很多人面对一堆SQL语句不知道从哪学起,其实MySQL的基础语法并不复杂,只要按照操作数据库、操作表、操作数据这条主线一步步走,很快就能上手。本文把最常用的语法知识点整理出来,每个都配上可以直接执行的示例,方便你边看边练。

mysql基础语法有哪些?新手入门必看的知识点汇总

一、数据库和表的基本操作

操作MySQL的第一步是创建和管理数据库。创建数据库用CREATE DATABASE,切换到某个数据库用USE,查看已有的数据库列表用SHOW DATABASES。这三条语句是每次连接数据库后几乎都要用到的。

-- 创建数据库,指定字符集避免中文乱码
CREATE DATABASE shop DEFAULT CHARSET utf8mb4;
-- 切换数据库
USE shop;
-- 查看当前所有数据库
SHOW DATABASES;

数据库建好后,接下来要建表。建表语句的核心是定义字段名、字段类型和约束条件。常用的字段类型有INT(整数)、VARCHAR(n)(变长字符串)、DECIMAL(精确小数,金额字段必用)、DATETIME(日期时间)等。约束方面,PRIMARY KEY表示主键,NOT NULL表示不能为空,AUTO_INCREMENT表示自动递增。

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
    username VARCHAR(50) NOT NULL COMMENT '用户名',
    balance DECIMAL(10,2) DEFAULT 0 COMMENT '余额',
    created_at DATETIME COMMENT '创建时间'
) COMMENT '用户表';

这里有个细节要注意:金额类字段一定不要用FLOAT或DOUBLE,因为浮点数存在精度问题,存储金额会出现误差,用DECIMAL(10,2)才是正确做法。表建好之后,还可以用SHOW TABLES查看表列表,用DESC user查看表结构,用DROP TABLE user删除表。

二、增删改查四大基本操作

对数据的操作概括起来就是增、删、改、查四个字。插入数据用INSERT INTO,可以一次插入一条,也可以批量插入多条。更新数据用UPDATE,删除数据用DELETE,这两条语句都必须带上WHERE条件,否则会作用于全表,这是新手最容易犯的错误。

-- 插入一条数据
INSERT INTO user (username, balance, created_at)
VALUES ('张三', 100.50, '2024-01-15 10:30:00');

-- 批量插入
INSERT INTO user (username, balance) VALUES
('李四', 200.00),
('王五', 300.00);

-- 修改数据,务必带WHERE条件
UPDATE user SET balance = balance + 50 WHERE username = '张三';

-- 删除数据,同样要带条件
DELETE FROM user WHERE id = 3;

查询是SQL中使用频率最高的操作,基础形式是SELECT 字段 FROM 表名。可以用*查所有字段,也可以列出指定字段;DISTINCT用于去重;AS可以给字段起别名。条件过滤用WHERE,支持=、>、<、!=、BETWEEN...AND、IN、LIKE等运算符。

-- 查询余额大于100的用户
SELECT username, balance FROM user WHERE balance > 100;

-- 模糊查询,%匹配任意多个字符
SELECT * FROM user WHERE username LIKE '张%';

-- 范围查询
SELECT * FROM user WHERE id BETWEEN 1 AND 10;

三、排序、分页与聚合函数

实际业务中经常需要对结果排序和分页展示。排序用ORDER BY,默认是升序ASC,降序要写DESC。分页用LIMIT,写法是LIMIT 起始位置, 每页条数,起始位置从0开始算。比如每页显示10条,查第3页就是LIMIT 20, 10。开发中分页参数需要根据页码动态计算:起始位置等于(页码减1)乘以每页条数。

-- 按余额降序排列,取前5名
SELECT username, balance FROM user
ORDER BY balance DESC
LIMIT 0, 5;

聚合函数用来做统计计算,常用的有COUNT统计行数、SUM求和、AVG求平均值、MAX求最大值、MIN求最小值。配合GROUP BY可以分组统计,比如统计每个城市的用户数。这里有个高频面试考点:WHERE和HAVING的区别。WHERE在分组前过滤原始数据,不能用聚合函数;HAVING在分组后过滤统计结果,可以配合聚合函数使用。

-- 统计每个用户名的订单总数,只显示订单数大于5的
SELECT username, COUNT(*) AS order_count
FROM orders
GROUP BY username
HAVING COUNT(*) > 5;

四、多表连接查询

真实项目的数据往往分散在多张表里,比如用户表和订单表,这时就需要连接查询。最常用的是内连接INNER JOIN,只返回两张表中匹配的记录;左连接LEFT JOIN以左表为主,右表没有匹配的补NULL;右连接RIGHT JOIN则相反。连接时通过ON指定两表的关联条件,通常是主表主键等于从表的外键。

-- 查询每个用户的订单金额,内连接
SELECT u.username, o.amount
FROM user u
INNER JOIN orders o ON u.id = o.user_id;

-- 左连接:没有订单的用户也要显示出来
SELECT u.username, o.amount
FROM user u
LEFT JOIN orders o ON u.id = o.user_id;

写连接查询时建议都给表起别名,语句更简洁易读。另外要注意连接字段最好是索引字段,数据量大时没有索引的连接查询会非常慢。掌握了数据库操作、表的创建、增删改查、聚合统计和多表连接这几个部分,MySQL基础语法的主干就齐了,剩下的子查询、索引优化等内容,可以在这个基础上继续深入。

mysql基础语法mysql入门SQL语句修改时间:2026-09-16 17:02:39

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/0916/58069.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。