找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1531

积分

0

好友

225

主题
发表于 3 天前 | 查看: 10| 回复: 0

在数据处理与分析工作中,掌握数据库操作是提升效率的关键。本文将系统梳理SQL中最常用和核心的命令,帮助您快速上手数据查询与管理。

基础操作:数据的增删改查(CRUD)

1. 查询数据 - SELECT

SELECT语句用于从数据库中检索数据,是最常用的命令。

SELECT * FROM 用户表;                    -- 查看所有用户
SELECT 姓名,手机号 FROM 用户表;           -- 只看姓名和手机号
SELECT * FROM 订单表 WHERE 金额 > 100;    -- 筛选金额大于100的订单
SELECT * FROM 商品表 ORDER BY 价格 DESC;  -- 按价格从高到低排序
SELECT COUNT(*) FROM 用户表;              -- 统计用户总数
2. 插入数据 - INSERT

INSERT语句用于向表中添加新的数据行。

INSERT INTO 用户表 (姓名,年龄) VALUES ('张三',25);  -- 添加一条记录
INSERT INTO 用户表 VALUES (1,'李四',30,'北京');     -- 添加完整记录(需匹配所有列)
3. 更新数据 - UPDATE

UPDATE语句用于修改表中现有的数据。

UPDATE 用户表 SET 年龄=26 WHERE 姓名='张三';     -- 修改张三的年龄
UPDATE 商品表 SET 价格=价格*0.8;                  -- 所有商品打8折
4. 删除数据 - DELETE

DELETE语句用于从表中删除数据行。

DELETE FROM 用户表 WHERE 年龄>60;      -- 删除年龄大于60的用户
DELETE FROM 临时表;                    -- 清空整张表(操作需谨慎!)

进阶查询:复杂数据检索

5. 模糊查询 - LIKE

LIKE运算符用于在WHERE子句中搜索列中的指定模式。

SELECT * FROM 商品表 WHERE 名称 LIKE '%手机%';      -- 查找名称包含“手机”的商品
SELECT * FROM 用户表 WHERE 邮箱 LIKE 'zhang%@%';    -- 查找张姓邮箱用户
6. 数据分组与聚合 - GROUP BY

GROUP BY语句常与聚合函数(如COUNT, SUM, AVG)结合使用,用于对结果集进行分组统计。

SELECT 城市, COUNT(*) FROM 用户表 GROUP BY 城市;         -- 统计各城市用户数
SELECT 月份, SUM(销售额) FROM 订单表 GROUP BY 月份;       -- 按月统计销售额
7. 表连接 - JOIN

JOIN用于根据两个或多个表之间的相关列合并行,是进行多表关联查询的核心。

-- 内连接:返回两个表中匹配的行
SELECT * FROM 订单表 JOIN 用户表 ON 订单表.用户ID=用户表.ID;

-- 左连接:返回左表所有行,即使右表没有匹配
SELECT 用户.姓名,订单.金额 FROM 用户表 用户 LEFT JOIN 订单表 订单 ON 用户.ID=订单.用户ID;
8. 数据去重 - DISTINCT

DISTINCT关键字用于返回唯一不同的值。

SELECT DISTINCT 城市 FROM 用户表;      -- 查看用户分布在哪些城市
SELECT DISTINCT 职位 FROM 员工表;      -- 查看所有职位类型

数据定义与管理

9. 创建表 - CREATE TABLE

CREATE TABLE语句用于在数据库中创建新表,是数据存储结构的基础。

CREATE TABLE 员工表 (
    ID INT PRIMARY KEY,
    姓名 VARCHAR(50) NOT NULL,
    入职日期 DATE DEFAULT CURRENT_DATE,
    薪水 DECIMAL(10,2)
);
10. 修改表结构 - ALTER TABLE

ALTER TABLE语句用于添加、删除或修改现有表中的列。

ALTER TABLE 员工表 ADD 邮箱 VARCHAR(100);      -- 添加邮箱字段
ALTER TABLE 员工表 DROP COLUMN 旧字段;          -- 删除字段
ALTER TABLE 员工表 MODIFY 姓名 VARCHAR(100);    -- 修改字段类型
11. 创建索引 - CREATE INDEX

索引可以大大提高数据库的查询速度。

CREATE INDEX idx_phone ON 用户表(手机号);         -- 加速按手机号查询
CREATE UNIQUE INDEX idx_product_no ON 商品表(商品编号); -- 创建唯一索引
12. 事务控制 - 保证数据安全

事务用于确保一组SQL操作要么全部成功,要么全部失败,维护数据的一致性。

BEGIN TRANSACTION;    -- 开始事务
-- 执行一系列数据操作...
UPDATE 账户表 SET 余额 = 余额 - 100 WHERE 用户ID = 1;
UPDATE 账户表 SET 余额 = 余额 + 100 WHERE 用户ID = 2;
COMMIT;               -- 提交事务(确认所有更改)
-- 或 ROLLBACK;      -- 回滚事务(取消所有更改)

实用操作技巧

  1. 安全第一:执行UPDATE和DELETE操作前,务必确认WHERE条件准确无误,避免误操作。
  2. 先查后改:在修改或删除数据前,可先用SELECT语句查询确认目标数据。
  3. 限制结果集:查询大表时,使用LIMIT子句(如SELECT * FROM 大表 LIMIT 100;)可以防止返回过多数据导致系统缓慢。
  4. 善用注释:在复杂的SQL语句旁使用-- 注释内容添加说明,便于理解和维护。



上一篇:2025年大语言模型年度技术盘点与趋势解读
下一篇:LangChain DeepAgents实战:几行代码实现复杂AI任务的规划与执行
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 20:53 , Processed in 0.285986 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表