SQL基础操作指南:增删改查入门

前言

在日常数据库操作中,掌握增删查改是每个开发者必备的技能。下面我将通过实例解析SQL的核心操作要点,帮你避开常见陷阱。


一、新增数据(INSERT)

  • 单行插入:明确指定字段和值
INSERT INTO 表名(字段1, 字段2) VALUES (1,2);
  • 多行插入:批量操作高效写入
INSERT INTO 表名(字段1, 字段2) VALUES
  (1,2),
  (3,4),
  (5,6);

字段与值必须严格对应


二、查询数据(SELECT)

1. 基础查询

类型语法实例说明
全列查询SELECT * FROM 表返回全表结果
指定列SELECT 列1, 列2 FROM 表查找特定字段
表达式SELECT (价格 * 0.8) FROM 商品实时计算字段
去重SELECT DISTINCT 部门 FROM 员工剔除重复值

2. 别名使用与限制

SELECT 字段1 AS 别名1, 字段2 AS 别名2 FROM;  
  1. 别名仅当前SELECT有效(临时标签)
  2. 不可跨SELECT语句使用(每个查询独立)
  3. WHERE条件中禁止使用别名(SQL执行顺序:WHERE > SELECT别名)

3. 排序控制(ORDER BY)

-- 默认升序(ASC可省略)
SELECT * FROM 成绩表 ORDER BY 分数;

-- 显式降序
SELECT * FROM 商品表 ORDER BY 价格 DESC;

4. 条件查询(WHERE)

基础结构:

SELECT * FROM 表名 WHERE 条件表达式;

完整运算符体系

运算符类型语法实例说明
比较运算符=, >, <, >=, <=, !=基本数值/字符比较
范围查询BETWEEN 值1 AND 值2闭区间范围匹配
枚举查询IN(值1, 值2, ...)多值匹配
空值判断IS NULL / IS NOT NULL空值检测
模糊匹配LIKE '模式'通配符搜索
逻辑组合AND, OR, NOT条件组合与取反

① 比较运算符:

数值/字符串/日期均可比较

-- 字符串比较(按字典序)  
SELECT * FROM 学生 WHERE 姓名 > '李四';  

② BETWEEN AND:

闭区间匹配(含边界)

-- 等价于 价格>=50 AND 价格<=100  
SELECT * FROM 商品 WHERE 价格 BETWEEN 50 AND 100;  

③ IN 运算符:

多值匹配

-- 查找特定学院学生  
SELECT * FROM 学生 WHERE 学院 IN ('计算机', '电子工程');  

④ NULL 判断:

必须用 IS

-- 错误写法:WHERE 电话 = NULL (永远返回空)  
SELECT * FROM 用户 WHERE 电话 IS NULL;  

⑤ 模糊查询(LIKE):

-- % 匹配任意数量字符(包括0个)
WHERE 姓名 LIKE '张%'   -- 找所有姓张的人

-- _ 匹配单个字符
WHERE 学号 LIKE '2023_01' -- 找2023级01班的学生

⑥ 逻辑组合:

运算符优先级陷阱

-- 错误写法(AND优先级高于OR):
WHERE 部门 = '销售' OR 部门 = '技术' AND 工资 > 10000

-- 正确写法(用括号明确逻辑):
WHERE (部门 = '销售' OR 部门 = '技术') AND 工资 > 10000

5. 分页查询(LIMIT/OFFSET)

SELECT * FROM 订单表
LIMIT 10 OFFSET 20;  -- 跳过前20条,取10条数据
  • OFFSET:跳过的记录数(偏移量)
  • LIMIT:返回的记录数

OFFSET类似于翻书跳过的页数;LIMIT类似于本页显示的行数


三、修改数据(UPDATE)

UPDATE 商品表  
SET 价格=价格*1.1, 库存=库存-1  -- 修改多个字段  
WHERE 分类='电子产品';          -- 必须有WHERE条件!  

注意:无WHERE条件将导致更新全表数据


四、删除数据(DELETE)

DELETE FROM 用户表
WHERE 最后登录时间 < '2020-01-01';  -- 删除不活跃用户  

注意:无WHERE条件将导致整个表被清空


五、SQL操作执行流程图

SELECT
INSERT
UPDATE
DELETE
开始SQL操作
操作类型
基础查询
WHERE条件过滤
ORDER BY排序
LIMIT/OFFSET分页
VALUES插入
字段值匹配校验
SET修改字段
WHERE条件验证
WHERE条件验证
WHERE存在?
执行操作
谨慎操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值