是不是刚接触 SQL 就被 “增删改查” 这四个词绕得晕头转向?对着教程背了半天语法,一上手写还是报错;想往表里插条数据,要么漏了单引号,要么忘了加分号;好不容易插进去了,想改个年龄又怕把所有数据都改错;最愁的是查数据,明明字段名没错,就是查不出结果,对着黑屏发呆半天。零基础学 SQL,增删改查是绕不开的第一道坎,但其实只要找对方法,跟着案例练,根本不用死记硬背。今天兔子哥就用最白话的方式,带大家从建表到操作一步步练,每个案例都能直接抄代码,看完你也能轻松搞定增删改查!
基础问题:增删改查到底是啥?为啥说它是 SQL 的 “基本功”?
可能有朋友会问:“增删改查听着挺简单,真有那么重要吗?” 当然重要!你可以把数据库想象成一个电子账本,增删改查就是账本的四个核心操作:
- 增:往账本里添新记录,比如新增一个客户信息;
- 删:把账本里没用的记录划掉,比如删除过期的订单;
- 改:修正账本里写错的内容,比如把客户电话改正确;
- 查:从账本里找出需要的记录,比如查这个月的所有订单。
不管做什么数据处理,基本都离不开这四个操作。网友 “小会计” 说:“之前用 Excel 记账,找条记录要翻半天,学了 SQL 增删改查后,查数据、改错误分分钟搞定,现在工作效率高多了!” 所以呀,把增删改查练熟,才算真正入门 SQL,后面学复杂操作也会更轻松。
增(INSERT):往表里填数据,三步就能学会
往数据库表里加数据就像往账本里填新内容,用 INSERT 语句,步骤超简单:
先建个表:有 “账本” 才能填数据
咱们先建个 “客户表”(customer)当例子,后面的操作都用这个表:
sql
-- 创建客户表,存编号、姓名、电话、地址CREATE TABLE customer (id INT, -- 客户编号name VARCHAR(20), -- 姓名phone VARCHAR(11), -- 电话address VARCHAR(50) -- 地址);执行这段代码,数据库里就有了一个空的客户表,接下来可以往里面填数据了。
语法格式:记住这个 “公式” 准没错
sql
INSERT INTO 表名 (字段1, 字段2, 字段3)VALUES (值1, 值2, 值3);简单说就是:告诉数据库 “往哪个表里的哪些字段,填哪些值”。
实战案例:加两条客户信息
sql
-- 新增第一个客户INSERT INTO customer (id, name, phone, address)VALUES (1, '张三', '13800138000', '北京市朝阳区');-- 新增第二个客户INSERT INTO customer (id, name, phone, address)VALUES (2, '李四', '13900139000', '上海市浦东区');执行后,客户表里就有两条记录啦。避坑点:
- 字段名和后面的值要一一对应,别把电话填到地址位置;
- 字符串类型的值(姓名、电话、地址)必须用英文单引号包起来,数字不用;
- 语句末尾一定要加英文分号,少个分号就会提示 “语法错误”。
查(SELECT):从表里找数据,最常用也最容易错
查数据是 SQL 里用得最多的操作,就像从账本里找记录,学会这几种用法基本够用:
语法格式:基础查询就这三种
sql
-- 查所有字段(*表示所有)SELECT * FROM 表名;-- 查指定字段SELECT 字段1, 字段2 FROM 表名;-- 带条件查SELECT 字段 FROM 表名 WHERE 条件;实战案例:查客户信息
sql
-- 查所有客户的所有信息SELECT * FROM customer;-- 只查客户姓名和电话SELECT name, phone FROM customer;-- 查住在北京的客户SELECT name, address FROM customer WHERE address LIKE '%北京%';执行后就能看到对应的结果,比如第三条语句会只显示张三的信息。避坑点:
- 查指定字段时,字段之间用英文逗号隔开,最后一个字段后别加逗号;
- WHERE 条件里的 “等于” 用
=,“包含” 用LIKE加%(% 表示任意字符); - 别把 “SELECT” 拼错成 “SELETE”,新手常犯这种小错误。
改(UPDATE):修改已有数据,务必加条件!
改数据就像改账本上的错字,用 UPDATE 语句,但一定要小心,别改错了:
语法格式:改数据必须带条件
sql
UPDATE 表名SET 字段1 = 新值1, 字段2 = 新值2WHERE 条件;实战案例:改客户信息
sql
-- 把李四的电话改成13900139001(加条件,只改李四)UPDATE customerSET phone = '13900139001'WHERE name = '李四';-- 把北京客户的地址加个“区”字(批量改)UPDATE customerSET address = CONCAT(address, '区')WHERE address LIKE '%北京%';执行后对应的数据就会更新。避坑点:
- 绝对不能漏写 WHERE 条件!不然会把表里所有数据都改掉,比如
UPDATE customer SET phone='123'会让所有客户电话都变成 123; - 改完后最好用 SELECT 查一下,确认改对了再进行下一步。
删(DELETE):删除数据,比改数据更要小心!
删数据就像撕账本上的页,删了就找不回来了,一定要加条件,新手建议先备份:
语法格式:删数据必须指定条件
sql
DELETE FROM 表名 WHERE 条件;实战案例:删客户信息
sql
-- 先查要删的数据,确认没错SELECT * FROM customer WHERE id = 2;-- 确认后再删DELETE FROM customer WHERE id = 2;执行后,id 为 2 的客户记录就被删除了。避坑点:
- 删之前一定要先用 SELECT 查条件是否正确,避免删错;
- 绝对不能写
DELETE FROM customer;(没条件),这会清空整个表,哭都来不及; - 重要数据删之前最好备份,比如
CREATE TABLE 备份表 AS SELECT * FROM 原表;。
常见错误对比:新手最容易踩的坑,这样避!
| 错误操作 | 问题在哪 | 正确操作 |
|---|---|---|
INSERT INTO customer VALUES (3, 王五, 13700137000, 广州); | 字符串没加单引号 | VALUES (3, '王五', '13700137000', '广州'); |
SELECT name phone FROM customer; | 字段间漏了逗号 | SELECT name, phone FROM customer; |
UPDATE customer SET phone='123' | 漏了 WHERE 条件 | 加WHERE id=1指定修改对象 |
DELETE FROM customer WHERE name=李四; | 字符串没加单引号 | WHERE name='李四'; |
自问自答:零基础练增删改查常见疑问
记不住语法格式怎么办?总是漏细节。
不用死记!把上面的语法格式抄在小本本上,练的时候对着写,写个三五次自然就记住了。重点记每个语句的 “关键词”:增是 INSERT INTO,查是 SELECT FROM,改是 UPDATE...SET,删是 DELETE FROM,这些关键词没错,基本框架就不会错。
怎么知道自己写的语句对不对?
可以先在 “测试环境” 里试,比如用上面的客户表练手,就算改错了也没关系。执行语句后看提示,出现 “Query OK, 1 row affected” 说明成功了;如果提示 “ERROR”,就看后面的错误信息,比如 “you have an error in your SQL syntax” 就是语法错了,检查有没有漏分号、拼错单词。
除了这些基础操作,后面还能学啥?
学会增删改查后,可以学排序(ORDER BY)、分组(GROUP BY)和多表查询,这些能帮你处理更复杂的数据。比如 “查每个地区的客户数量” 就需要分组查询,不过别急,先把基础练熟,一步一步来。
最后说点实在话
增删改查看着简单,但新手刚开始出错太正常了。我刚开始学的时候,插数据漏写单引号,改数据忘加条件,删数据手滑删错表,这些坑基本都踩过。但练多了你会发现,这些错误都是能避免的 “小马虎”,只要细心点,记住那些避坑点,很快就能熟练。
建议大家找个简单的表,比如客户表、学生表,每天花十分钟练几个操作,从增到查再到改删,循序渐进。不用追求一次学会所有,今天练会插数据,明天练会查数据,一周下来就能熟练掌握。SQL 是个 “越用越顺手” 的工具,动手练才是最快的入门方法,现在就打开数据库试试吧,你会发现没那么难!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
评论列表
轻松学SQL增删改查好教程