MySQL零基础入门学习笔记
一、数据库核心基础认知1. 什么是数据库数据库是长期存储在服务器中、结构化、可共享的数据集合用于统一管理项目中的所有数据替代传统的文本、表格存储方式具备高效查询、安全可控、支持多用户访问的特点。MySQL是一款开源、免费、轻量、跨平台的关系型数据库是Web开发、后端入门最主流的数据库适配PHP、Java、Python等几乎所有开发语言。2. 数据库核心层级结构重中之重MySQL的存储层级由大到小数据库 → 数据表 → 字段列 → 数据行数据库一个项目对应一个数据库如lol_heroes、user_system用于归类项目所有数据表数据表存储一类具体数据用户表users、英雄表hero、商品表goods字段/列数据表的属性用户名、密码、年龄、英雄名称数据/行单条完整的具体数据一条用户信息、一条英雄信息3. SQL语句分类SQL是操作数据库的标准语言核心分为四大类新手重点掌握DMLDDL数据定义语言操作数据库、数据表建库、建表、删库、改结构DML数据操作语言操作表中数据增删改查CRUD日常开发最常用DQL数据查询语言专属数据查询核心关键字SELECTDCL数据控制语言权限管理、事务控制进阶内容二、MySQL基础实操命令可直接复制执行1. 数据库基础操作# 1. 查看所有数据库SHOW DATABASES;# 2. 创建自定义数据库指定utf8mb4万能编码兼容所有文字和表情CREATE DATABASE lol_heroes DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;# 3. 切换/使用指定数据库USE lol_heroes;# 4. 查看当前正在使用的数据库SELECT DATABASE();# 5. 查看MySQL数据库版本SELECT VERSION();# 6. 删除数据库谨慎使用DROP DATABASE IF EXISTS lol_heroes;2. 数据表基础操作# 1. 查看当前库所有数据表SHOW TABLES;# 2. 查看表基础结构字段、类型、是否为空、主键DESC hero;# 3. 查看完整建表语句含所有约束、注释、索引SHOW CREATE TABLE hero;# 4. 删除数据表谨慎使用DROP TABLE IF EXISTS hero;三、核心重点SQL CRUD增删改查CRUD是数据库开发的核心对应项目所有数据操作需求C(Create) 新增 → INSERTR(Read) 查询 → SELECT使用频率最高U(Update) 修改 → UPDATED(Delete) 删除 → DELETE1. 查询语句 SELECT重中之重语法SELECT 字段 FROM 表名 [条件];# 查询表中所有字段数据* 代表所有列SELECT * FROM hero;# 查询指定字段数据开发推荐不使用*节省性能SELECT hero_name, hp, difficulty FROM hero;# 条件查询 AND并且、OR或者、NOT取反# 查询难度小于3 且 为周免英雄SELECT hero_name FROM hero WHERE difficulty 3 AND is_free 1;# 模糊查询SELECT * FROM hero WHERE hero_name LIKE %亚%;2. 新增语句 INSERT# 插入单条数据INSERT INTO hero(hero_name, hp, difficulty) VALUES (提莫, 520, 2);# 插入多条数据INSERT INTO hero(hero_name, hp, difficulty)VALUES (盖伦, 600, 1), (阿狸, 480, 4);3. 修改语句 UPDATE注意必须加WHERE条件否则修改全表数据# 修改指定英雄的生命值UPDATE hero SET hp 550 WHERE hero_name 提莫;4. 删除语句 DELETE注意必须加WHERE条件否则清空全表数据# 删除指定英雄数据DELETE FROM hero WHERE hero_name 提莫;四、数据表字段约束保证数据合法性约束是MySQL用来规范数据、防止脏数据的核心规则建表必用主键 PRIMARY KEY唯一标识每条数据非空且唯一一般搭配自增 AUTO_INCREMENT非空 NOT NULL该字段必须填写不能为空值唯一 UNIQUE字段数据不能重复如用户名、手机号默认值 DEFAULT用户不填写时自动使用默认值如默认非周免英雄 DEFAULT 0外键 FOREIGN KEY关联两张表保证数据关联一致性五、SQL文件导入实操本地项目部署必备日常学习和项目开发中经常需要导入.sql数据库文件快速搭建数据表两种新手通用方式1. 命令行导入通用所有系统# 1. 登录MySQL创建数据库CREATE DATABASE lol_heroes DEFAULT CHARACTER SET utf8mb4;USE lol_heroes;# 2. 导入本地sql文件替换为你的文件路径SOURCE D:/sql/lol_heroes.sql;2. 可视化工具导入Navicat/DBeaver新建对应数据库 → 右键数据库 → 运行SQL文件 → 选择本地sql文件 → 执行刷新即可。六、Web项目数据交互全流程前端PHPMySQL以用户注册为例完整数据流转链路前端页面HTML表单设置action提交地址、methodpost提交方式用户输入账号密码提交服务器接收PHP通过$_POST接收前端表单数据后端校验PHP校验数据非空、格式合规密码加密过滤非法字符数据库交互PHP连接MySQL执行INSERT语句将数据存入数据表结果返回MySQL返回执行结果PHP接收后跳转页面或提示注册成功/失败七、基础安全认知SQL注入SQL注入原理恶意用户通过输入特殊语句拼接原有SQL逻辑非法查询、篡改、删除数据库数据。注入核心关键字UNION联合查询拼接多条SELECT语句窃取数据、AND/OR篡改查询条件基础防护方案禁止直接拼接SQL语句使用PHP PDO/mysqli预处理语句过滤用户输入特殊字符八、新手学习总结1. MySQL核心核心逻辑库→表→字段→数据所有操作围绕该层级展开2. 开发高频重点SELECT查询语句、CRUD操作、字段约束是项目开发的基础3. 实操大于死记多练习导入SQL文件、查表结构、条件查询、数据增删改4. 养成安全习惯杜绝直接拼接SQL了解SQL注入风险基础防护必须掌握。