1.从零开始的Java学习之路:数据库基础篇
目录
最近开始跟着课程系统自学Java后端和测试开发,把学习过程中的重点和笔记整理成博客,希望能帮到同样在入门阶段的同学~ 这篇主要围绕数据库基础展开,聊聊学习路线、数据库分类、MySQL安装与客户端使用等内容。
一、学习课程安排:一年左右的成长路径
我的学习路径将整体分为几个阶段,并把我的所学所得分享到博客当中,前3个阶段是打基础,后面逐步深入:
-
打基础阶段:C语言 → Java SE → Java数据结构
这部分是编程的基石,尤其是数据结构和Java语法,一定要扎实!
-
核心阶段:
-
数据库基础
-
JavaEE初阶
-
JavaEE进阶
-
测试
用很形象的话总结:“先挑几年水,再劈几年柴”——前期积累,后期才能厚积薄发。不仅要知道“怎么用”,还要明白“为啥这么用”。
-
-
项目与拓展:
-
综合运用前面知识做有价值的程序(4个标准项目+1个挑战项目)
-
学习企业常用技术组件(MySQL进阶/高阶、Docker、Redis、RabbitMQ、Spring Cloud...)
-
算法:针对校招笔试(动态规划、贪心、DFS、BFS等)
强调:校招笔试会考算法,越好公司越难。但双非院校秋招进大厂几乎不可能,所以实习非常重要!大一开始实习1年,大二半年,时间紧张的话3个月也好。
双非大学的大厂offer基本都是实习转正的。
-
二、数据库正题:什么是数据库?
1. 数据库的本质:管理数据的工具
数据结构学了之后,我们知道要“管理数据”,数据多了就需要更高效的工具——数据库。它和数据结构一样,核心目的是帮我们增删改查数据,但它是成熟的软件,内部用大量数据结构管理数据,能提供更具体的功能。
举个例子:数据结构像“手工记账”,数据库像“专业的财务软件”。
2. 业界知名的数据库分类
分了关系型数据库和非关系型数据库:
(1)关系型数据库(通过“表”管理数据)
-
Oracle:甲骨文产品,适合大型项目,业内最强(收费)。
-
MySQL:开源免费,最受欢迎!中小企业普及率高,电商、论坛常用。
-
PostgreSQL:加州大学伯克利分校开发,免费可修改分发。
-
SQL Server:微软推出,和自家系统、编程环境配合好,中大型项目。
-
SQLite:轻量级,资源占用低,嵌入式设备、手机APP、桌面程序常用。
它们的共同特点:用“表”(类似Excel)管理数据,表与表之间通过“班级编号”等建立关联(比如学生表和班级表)。

(2)非关系型数据库(不是表格,更灵活)
-
Redis:基于键值对的内存数据库,常用作缓存,支持持久化,多种数据结构。
-
MongoDB:基于NoSQL的文档型数据库,易扩展、高性能,支持丰富查询。
-
特点:键值对、文档,每个文档属性不一定对应,更松散灵活。
三、数据库学习重点:MySQL初阶三大块
关系型数据库大家都差不多,掌握一个(比如MySQL),其他的就“水到渠成”~
MySQL初阶学习三个部分:
-
SQL语句编写:通过SQL进行增删改查(各种关系型数据库SQL语法规则类似)。
-
数据库核心原理:各种关系型数据库原理相通。
-
Java代码操作数据库:代码完全一样。
四、安装MySQL:自己找教程,这里不赘述
安装MySQL时,要注意:
-
未来公司用的MySQL大概率是Linux上的,现在Windows的MySQL是临时用。
-
后期可以切到Linux使用MySQL。
安装后,其实装了一堆辅助工具,MySQL的本体是“服务”(一个服务器程序)。想要用这个服务,需要搭配客户端(和用户交互)。

五、安装完后需要了解的内容:客户端 vs 服务器
1. 客户端(Client) & 服务器(Server)
-
服务器:被动接收通信,负责核心工作(7 * 24小时运行,比如餐馆早开门晚关门,不知道客人啥时候来)。
-
客户端:主动发起通信,负责和用户交互(输入内容、显示结果)。
-
通信方式:通过网络。
生活中大部分程序都是“客户端+服务器”模式(比如网页:服务器检索,客户端交互)。
2. MySQL自带的客户端
安装时自带了命令行客户端(输入密码登录),还有图形化客户端Workbench。



3. 连接(Connection)的理解
-
IP地址:描述MySQL服务器在哪个机器上(127.0.0.1是本机)。
-
端口:描述客户端访问主机的哪个程序(默认3306)。
核心:理解输入的SQL是啥意思,看得到的结果。

六、MySQL高级一点的客户端:Navicat
黑框客户端太low?推荐Navicat(知名MySQL客户端):
无论装啥,都要认准官方网站。
有免费版(Navicat Premium Lite),功能比收费版少但足够用。

进入Navicat网站后点击产品翻至底部,可以找到免费版
域名 & IP的关系
-
域名(比如localhost)等价127.0.0.1(本机IP)。
-
IP给计算机看,域名给人看。
七、SQL语句:和Java不同的编程语言
SQL也是一种编程语言,但和Java差别很大:
-
Java:描述“工作的过程”(比如写一个扫雷程序,需要构建地图、生成雷、响应用户操作…)。
-
SQL:描述“工作的结果”,告诉数据库“想要xxx效果”,中间过程不需要过多干预。
SQL核心:增删改查(变量、条件、循环很少用)。
八、查看数据库:database的多重含义
-
软件层面:指数据库软件(MySQL、Oracle)。
-
概念层面:指数据库软件中的一个数据集合,通常按业务区分(比如教务系统数据、直播平台数据)。
总结
学习数据库,记住:先理解“管理数据”的本质,再掌握工具和语法。
更多推荐
所有评论(0)