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
总结与重点记忆
-
基本查询结构:SELECT-FROM-WHERE-GROUP BY-HAVING-ORDER BY-LIMIT
-
WHERE 子句:掌握比较、范围、集合、模糊匹配等条件操作
-
聚合函数:COUNT, SUM, AVG, MAX, MIN 的使用场景
-
分组查询:GROUP BY 和 HAVING 的配合使用
-
连接查询:理解内连接、左连接、右连接的区别
-
子查询:能够在 WHERE 和 FROM 子句中使用嵌套查询
-
常用函数:熟悉字符串处理、日期处理、条件判断等常用函数
-
索引和视图:了解它们对查询性能的影响
-
事务管理:理解 ACID 特性,掌握事务的基本操作
-
安全性:注意 SQL 注入等安全问题,使用参数化查询
Note: SQL 是一门实践性很强的语言,多动手练习才能真正掌握。从简单查询开始,逐步过渡到复杂查询,同时注意优化查询性能。