基础SQL语句主要用于对关系型数据库中的数据进行增删改查操作,是数据库交互的最基础工具,几乎所有涉及数据存储的业务场景都会用到相关语法。不同数据库的基础SQL语法整体通用,仅在部分细节上存在细微差异。

基础SQL语句分类
按照操作类型,基础SQL语句可以分为四大类,分别对应不同的使用场景:
- 数据查询语句(DQL):用于从数据库中查询符合条件的数据,最常用的是select语句
- 数据操作语句(DML):用于对数据库中的数据进行新增、修改、删除操作,包含insert、update、delete语句
- 数据定义语句(DDL):用于定义数据库、表、字段等结构,比如create、alter、drop语句
- 数据控制语句(DCL):用于管理数据库权限,比如grant、revoke语句
新手优先掌握DQL和DML类的基础SQL语句即可满足大部分日常操作需求。
常用查询语句:select
select语句用于从表中查询数据,是最常用的SQL语句,基本语法如下:
-- 查询表中所有字段的数据 SELECT * FROM 表名; -- 查询指定字段的数据 SELECT 字段1, 字段2 FROM 表名; -- 添加查询条件筛选数据 SELECT 字段1, 字段2 FROM 表名 WHERE 条件; -- 对查询结果排序 SELECT 字段1, 字段2 FROM 表名 ORDER BY 字段1 DESC; -- 分组查询 SELECT 字段1, COUNT(*) AS 数量 FROM 表名 GROUP BY 字段1;
假设存在用户表user,包含id、username、age、status四个字段,查询年龄大于18岁的正常状态用户的示例如下:
SELECT id, username, age FROM user WHERE age > 18 AND status = 1;
新增数据语句:insert
insert语句用于向表中新增数据,基本语法如下:
-- 插入单条数据,指定所有字段的值 INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (值1, 值2, 值3); -- 插入单条数据,字段和值顺序对应表定义的字段顺序 INSERT INTO 表名 VALUES (值1, 值2, 值3); -- 插入多条数据 INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2), (值3, 值4), (值5, 值6);
向user表中新增一条用户数据的示例如下:
INSERT INTO user (username, age, status) VALUES ('张三', 22, 1);
修改数据语句:update
update语句用于修改表中已有的数据,使用时必须注意添加where条件,避免误改全表数据,基本语法如下:
-- 修改符合条件的数据的指定字段 UPDATE 表名 SET 字段1 = 新值1, 字段2 = 新值2 WHERE 条件; -- 修改全表数据的指定字段(谨慎使用) UPDATE 表名 SET 字段1 = 新值;
将user表中id为1的用户年龄修改为25的示例如下:
UPDATE user SET age = 25 WHERE id = 1;
删除数据语句:delete
delete语句用于删除表中的数据,同样必须添加where条件,避免误删全表数据,基本语法如下:
-- 删除符合条件的数据 DELETE FROM 表名 WHERE 条件; -- 删除全表数据(谨慎使用,自增ID不会重置) DELETE FROM 表名;
删除user表中状态为0的无效用户的示例如下:
DELETE FROM user WHERE status = 0;
基础SQL语句使用注意事项
- SQL语句不区分大小写,但是建议关键字统一大写,字段名和表名根据实际定义使用,提升可读性
- 字符串类型的值需要用单引号包裹,数值类型的值不需要引号
- 执行update和delete语句前,建议先使用select语句加相同条件查询,确认要操作的数据范围正确
- SQL中的比较运算符<、>、<>等需要正确书写,避免语法错误
新手练习基础SQL语句时,可以先在本地搭建MySQL或者SQLite环境,创建测试表进行实操,比单纯看语法记忆效果更好。