No.8 笔记 | SQL 查询语句:数据探索的钥匙

2024/10/7 心记 - 致在路上默默奋斗的你
在当今数字化的时代,网络安全已成为我们生活中不可或缺的一部分。它如同守护数字世界的隐形盾牌,保护着我们的隐私、数据和整个社会的稳定运行。 学习网络安全,是踏上一段充满挑战与机遇的征程。
每一个新的知识领域,每一次成功解决的安全问题,都像是在黑暗中点亮的一盏明灯,照亮你前行的道路,引领你走向更高的技术巅峰。 这个领域充满了无限的可能性。你将有机会与顶尖的技术人才并肩作战,共同抵御日益复杂的网络威胁。
你的每一份努力,都在为构建一个更安全的数字环境贡献力量。 不要害怕困难,因为每一次的挫折都是成长的阶梯。每一次对未知的探索,都是对自我的突破。
在网络安全的学习之路上,坚持就是胜利。 相信自己的能力,你拥有塑造一个更安全数字未来的潜力。勇敢地迈出每一步,去探索这个充满魅力的网络安全世界,让你的智慧和技能成为保护数字世界的强大武器。
  • Lixin

一、SQL 查询基础

1. 基本查询结构

SELECT 列名 FROM 表名 [WHERE 条件] [GROUP BY 分组] [ORDER BY 排序] [LIMIT 限制];

2. 常用查询技巧

  • 查询所有字段:SELECT * FROM 表名;
  • 查看表结构:DESC 表名;
  • 去重:SELECT DISTINCT 列名 FROM 表名;
  • 条件查询:使用 WHERE 子句
  • 限制结果:使用 LIMIT 子句
  • 排序:使用 ORDER BY 子句
  • 分组:使用 GROUP BY 子句

3. WHERE 子句常用操作符

  • 比较:=, <>, >, <, >=, <=
  • 范围:BETWEEN ... AND ...
  • 集合:IN (...), NOT IN (...)
  • 模糊匹配:LIKE '模式'(使用 %_ 通配符)
  • 逻辑:AND, OR, NOT

二、高级查询技巧

1. 聚合函数

  • COUNT():计数
  • SUM():求和
  • AVG():平均值
  • MAX():最大值
  • MIN():最小值

2. 分组和筛选

  • GROUP BY:分组
  • HAVING:对分组结果进行筛选

3. 正则表达式

使用 REGEXP 或 RLIKE 进行模式匹配

4. 连接查询

  • INNER JOIN:内连接
  • LEFT JOIN:左连接
  • RIGHT JOIN:右连接
  • FULL JOIN:全连接(MySQL不直接支持,可用UNION模拟)

5. 子查询

在 WHERE 或 FROM 子句中嵌套 SELECT 语句

三、SQL 函数和操作符

1. 字符串函数

  • CONCAT():连接字符串
  • SUBSTRING():截取子串
  • LENGTH():字符串长度
  • UPPER()/LOWER():大小写转换

2. 日期函数

  • NOW():当前日期时间
  • DATE():提取日期部分
  • YEAR()/MONTH()/DAY():提取年/月/日

3. 条件函数

  • IF():简单条件判断
  • CASE:复杂条件判断

4. 系统和信息函数

  • VERSION():数据库版本
  • USER():当前用户
  • DATABASE():当前数据库

四、数据库管理

1. 创建和删除数据库

CREATE DATABASE 数据库名; DROP DATABASE 数据库名;

2. 表操作

  • 创建表:CREATE TABLE
  • 修改表:ALTER TABLE
  • 删除表:DROP TABLE

3. 索引

  • 创建索引:CREATE INDEX
  • 删除索引:DROP INDEX

4. 视图

  • 创建视图:CREATE VIEW
  • 修改视图:ALTER VIEW
  • 删除视图:DROP VIEW

五、事务管理

  • 开始事务:START TRANSACTION
  • 提交事务:COMMIT
  • 回滚事务:ROLLBACK

六、用户管理和权限

  • 创建用户:CREATE USER
  • 授予权限:GRANT
  • 撤销权限:REVOKE

总结与重点记忆

  1. 基本查询结构:SELECT-FROM-WHERE-GROUP BY-HAVING-ORDER BY-LIMIT

  2. WHERE 子句:掌握比较、范围、集合、模糊匹配等条件操作

  3. 聚合函数:COUNT, SUM, AVG, MAX, MIN 的使用场景

  4. 分组查询:GROUP BY 和 HAVING 的配合使用

  5. 连接查询:理解内连接、左连接、右连接的区别

  6. 子查询:能够在 WHERE 和 FROM 子句中使用嵌套查询

  7. 常用函数:熟悉字符串处理、日期处理、条件判断等常用函数

  8. 索引和视图:了解它们对查询性能的影响

  9. 事务管理:理解 ACID 特性,掌握事务的基本操作

  10. 安全性:注意 SQL 注入等安全问题,使用参数化查询


Note: SQL 是一门实践性很强的语言,多动手练习才能真正掌握。从简单查询开始,逐步过渡到复杂查询,同时注意优化查询性能。

相关推荐
Mr.Demo.5 分钟前
[Redis] Redis哨兵机制
数据库·redis·缓存
tt5555555555557 分钟前
操作系统学习笔记-5.1-IO设备
服务器·笔记·嵌入式硬件·学习·操作系统
VK哈密瓜14 分钟前
点阵数显驱动IC数显LED驱动芯片VK1651
笔记·单片机·嵌入式硬件
一只鹿鹿鹿15 分钟前
【activiti工作流源码集成】springboot+activiti+mysql+vue+redis工作流审批流集成整合业务绑定表单流程图会签驳回
大数据·开发语言·数据库·需求分析·设计规范
发菜君16 分钟前
LangChain大模型应用开发指南:打造个性化LLM
人工智能·学习·langchain·大模型·大模型学习·大模型入门·大模型教程
尘浮生17 分钟前
Java项目实战II基于Spring Boot的高校教师电子名片系统的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·mysql·maven
应茶茶21 分钟前
Linux操作系统:学习进程_了解并掌握进程的状态
linux·学习
云空36 分钟前
《EasyQuotation 与MongoDB在股市信息的奇妙融合》
数据库·mongodb
小李飞刀李寻欢36 分钟前
anaconda 安装笔记Ubuntu20
前端·笔记·ubuntu·安装·anaconda
ZxsLoves44 分钟前
【【简单systyem verilog 语言学习使用二--- 新adder加法器 】】
学习·fpga开发