前言:
经常有小伙伴问我:MySQL 应该怎么学?小白如何入门?我在想,我当时是如何学习 MySQL 的,是否可以给到初学者几点建议,本篇文章,笔者将以自己的经验及认知,谈谈我对新手学习 MySQL 的建议。
搭建好环境,弄清基础概念。
学习 MySQL ,首先要有个自己的环境,可以在自己本机或某台虚拟机上安装下 MySQL ,建议最好使用 Linux 系统,体验下完整的安装步骤,尽量理解清楚每个步骤的作用。
接下来,你要弄清一些基础概念了,比如什么是库、表、字段、索引啊等等。说到这里,就简单介绍下一些常见的基础概念吧:
- 实例(instance):指的是操作系统上的一组进程/线程和内存的集合。比如我们在本机安装好 MySQL ,那就代表着我们本地有一套 MySQL 实例。
- 数据库(database):指的是文件系统上的一组文件,等同于 schema 。
- 表(table):表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 字段(column):字段是指数据表的列,表由字段组成。
- 索引(index):索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 主键(primary key):主键是唯一的。一个数据表中只能包含一个主键。
- 记录(record):指数据,一行可称为一条记录。
- 服务端(server):指 MySQL 服务所在端,一般可理解为 MySQL 所在主机。
- 客户端(client):连接数据库部分,比如 Navicat、jdbc 程序都可称为客户端。
- 数据类型(Data Types):又称字段类型,即定义某个字段所能存储的类型,如 int 、varchar 等。
- 字符集(character set):字符是各种文字和符号的总称,字符集是多个字符的集合。
学习基础操作,熟悉命令规范。
了解过基础概念后,建议你逐步学习一些基础操作,比如如何建库、建表、插入数据、修改数据、删除数据、查询数据等等。这部分主要练习的是 DDL 及 DML 语句。建议大家一定要按照命令规范来,比如插入数据时指定字段名,建表时指定字符集。
你可以使用 MySQL 命令行来执行 SQL ,也可以使用可视化客户端,关键是要明白你每步操作的意义及每条 SQL 的作用。
了解报错内容,学会使用搜索引擎。
在执行 SQL 或连接数据库过程中,难免会遇到各种报错,这个时候建议你先仔细看下是否存在书写及标点错误,关键还是要留意报错内容,根据报错内容大概率就能发现问题所在,比如 Access denied for user xxx 、able 'xxx' doesn't exist ... 有些看到报错内容很明显就可以发现问题,若实在找不到问题,可以复制报错内容到搜索引擎查找下,要相信不只你一个人遇到过这类错误。
根据你的岗位,有目的的进行学习。
在互联网行业,不同岗位的小伙伴可能都会用到 MySQL ,但不同岗位员工学习 MySQL 的侧重点却不尽相同。例如做数据分析的同学可能平时写查询 SQL 比较多,开发同学更侧重程序逻辑如何与数据库交互,DBA 同学可能侧重在数据库高性能高可用方面。所以建议你根据自己的需求,有侧重点的进行学习。
要系统、循序渐进的学习。
市面上关于 MySQL 的学习资料有很多,建议选取一个系统的资料进行学习,可以是一本书、一个网站等。切记不要这个资料看一点又转向另外一些资料。
同其他语言学习方法一样,MySQL 学习也要循序渐进,不能说我一上来就学习事务、学习 SQL 优化,任何事情都要一步步来。当然最重要的还是坚持,我一直认为,有需求才能推动你去学习,假如你工作中经常用到 MySQL 或者某个项目要使用 MySQL ,那么你自然而然的就会慢慢了解 MySQL ,如果你平时基本没有使用 MySQL 的需求,我相信你也不会有很大的动力去学习了。
总结:
碎碎念了这么多,还是希望各位新手能够有信心,MySQL 数据库本身还是很容易上手的,它作为一款开源的数据库,具有小巧灵活的特点,不像 Oracle 一样对安装环境有着较高的要求且安装步骤复杂 。关键还是要坚持系统的去学习,要记住它只是一个工具,你学得越好就能用它越好。