数据库基础与安全
一、数据库核心基础概念数据库定义数据库是长期存储在计算机内、有组织、可共享的数据集合是管理海量数据的 “超级仓库”。相较于纸质花名册、Excel 表格数据库具备海量存储、高效检索、安全可靠、支持多人并发操作的核心优势可支撑上亿条数据的稳定管理。数据库层级结构采用三层结构可类比学校体系顶层数据库对应整个学校如 school 库统一存储某类系统全部数据中层数据表对应学校各部门如 users 学生信息表、classes 班级表底层字段 记录字段为表格列名 / 表头记录为表格行内容如 id、name 为字段具体学号、姓名为记录数据库管理系统DBMSDBMS 是数据库的 “专属管家”负责数据存储、访问控制、规则管理主流关系型 DBMS 有三种MySQL开源免费、轻巧灵活校园系统、中小型网站主流使用Oracle功能强大、收费银行、电信等大型企业常用SQL Server微软开发、适配 Windows 系统政府单位常用二、MySQL 数据库连接方式提供命令行与Navicat 可视化两种连接方式MySQL 默认端口为3306超级管理员用户为 root。命令行连接在 CMD 中执行指令mysql -u root -p回车后输入数据库密码即可进入 MySQL 交互界面执行 SQL 语句。Navicat 可视化连接打开 Navicat→点击「连接」→选择 MySQL→填写主机localhost、端口 3306、用户名 root、密码→点击「测试连接」显示成功后即可可视化操作数据库。三、数据库与数据表创建创建 school 数据库可视化右键 MySQL 连接→新建数据库→命名为 school→字符集设为 utf8→确认命令行CREATE DATABASE school CHARACTER SET utf8 COLLATE utf8_general_ci;创建 users 学生信息表用于存储学生账号、密码、身份信息等敏感数据核心字段包含id主键唯一不重复、name姓名非空、password密码非空、id_card身份证号非空、phone手机号非空、address地址。可视化双击 school 库→右键表→新建表→添加字段并设置主键 / 非空约束→保存命名为 users命令行先执行USE school;切换数据库再用CREATE TABLE语句定义完整表结构四、SQL 核心语法CRUD 增删改查SQL 是数据库专属操作语言也是 SQL 注入攻击的核心工具分为四大类数据定义语言DDL用于创建、修改、删除库表结构核心语句CREATE创建、ALTER修改、DROP删除。数据操纵语言DMLCCreate / 新增INSERT INTO 表名(字段1,字段2) VALUES(值1,值2);可单条 / 批量插入数据UUpdate / 修改UPDATE 表名 SET 字段新值 WHERE 条件;必须加 WHERE 条件否则会修改全表数据DDelete / 删除DELETE FROM 表名 WHERE 条件;必须加 WHERE 条件否则会清空整张表且数据难以恢复数据查询语言DQL黑客窃取数据的核心操作支持多种查询方式全表查询SELECT * FROM 表名;条件查询SELECT 字段 FROM 表名 WHERE 条件;多条件查询AND同时满足、OR任一满足模糊查询LIKE %% 代表任意字符排序查询ORDER BY 字段 DESC/ASCDESC 降序、ASC 升序联合查询UNION合并多个 SELECT 语句结果要求字段数量、类型兼容是 SQL 注入的核心语法数据控制语言DCL用于管理用户数据访问权限核心语句GRANT授权、REVOKE收回权限。五、数据库安全核心SQL 注入漏洞漏洞危害SQL 注入是最常见、最致命的 Web 安全漏洞可引发精准诈骗、学生账号泄露、成绩篡改、选修课恶意修改、敏感数据批量窃取等严重问题。攻击原理黑客攻击的真实目标是数据库服务器网站仅为攻击入口黑客通过网站输入框拼接恶意 SQL 代码篡改原有查询逻辑间接攻击数据库窃取数据。攻击演示步骤① 用户名框输入任意账号如 student② 密码框输入恶意代码123 or 11③ 点击登录成功绕过登录验证六、法律规范与安全约束《中华人民共和国网络安全法》规定任何个人和组织不得非法侵入网络、干扰网络正常功能、窃取网络数据不得提供攻击程序、工具不得为危害网络安全的行为提供技术支持、广告推广、支付结算等帮助。数据库操作安全红线执行 UPDATE、DELETE 语句必须添加 WHERE 条件网站系统需做好防护杜绝 SQL 注入漏洞严禁非法获取、篡改、泄露他人数据库敏感数据