文章目录

  • Mysql 数据库(一)—— 初识 Mysql
  • 一、数据库
    • 1. 什么是数据库?
    • 2.数据库与数据结构
    • 3.数据库软件
    • 4.关于Mysql
    • 5.Mysql 学习内容
    • 6.Mysql 的安装
  • 二、Mysql 详细操作
    • 1.学习 SQL 语句
    • 2.关于数据库的操作:
    • (1) 查看数据库
    • (2) 创建数据库
    • 2.2 语法规则
    • 2.3 关于”字符集”
  • 三、修改mysql配置,设定字符集
    • 1.找到mysql配置文件
    • 2.修改配置文件
    • 3.重启数据库服务器
  • 未完待续….

Mysql 数据库(一)—— 初识 Mysql

本节内容大纲

  前一段时间 ,我们完成了 Java 集合与数据结构的学习 , 之后我们将进入 Mysql 数据库的课程中。

一、数据库

  首先我们要学习的是数据库的知识,那么数据库 到底是什么呢?

  同时我们在刚开始学习 数据库 的时候,也可能存在着一个困惑: 就是我们所学的数据结构 与 数据库有什么区别呢?

  下面我们将继续解释这两个问题.

1. 什么是数据库?

下面是从百度百科摘下来的定义:

  数据库,从名字上就可以知道,这是一个存储着大量数据的仓库,在百度上也写为了 “ 电子化的文件柜 ”,非常的形象。

  数据库不仅是一门学科,同时也是一类软件,具体是把大量的数据进行存储,在存储的过程中,往往大量依赖了数据结构这门学科。

2.数据库与数据结构

那么我们所学的数据结构:

数据结构是一门学科,用来研究如何组织大量的数据.

  我们学过的 顺序表、链表、栈、队列、二叉树、堆、哈希表、排序等数据结构的知识,主要是用来组织数据,为了更加高效的进行增删改查,主要把数据存储在’内存‘里面.

  而数据库也是要对 数据库进行增删改查,主要把数据存储在’磁盘‘里面。

3.数据库软件

数据库软件中都有哪些典型代表呢?

下面我们来看:

Mysql 我们之后学习的重点主要是Mysql数据库的使用

SQLServer:微软搞得一个数据库. 我们在学校里学习的大概率是这种数据库

Oracle:数据库行业里最牛批的大佬~

SQLite: 轻量级的数据库,应用最广泛(安卓系统内置的数据库)

还有其他的 HBase Mongodb Redis…等其他的数据库软件

4.关于Mysql

  我们在之后的学习里主要是熟悉 Mysql 数据库的各种使用及练习

  有同学就问了: 为什么 我们不用SQLServer 进行练习呢?

  首先 公司中很少用到 SQLServer,实际上使用SQLServer 的企业不是没有,但是较为少一些,为什么公司不选择这种软件呢?是因为不好吗?其实不是,SQLServer 也是数据库中非常优秀、非常好的一个软件。

  这是与前些年微软的一个营销策略是有关的,微软把 SQLServer 和 Windows Server 绑定在一起销售,就是说 我们要想使用 SQL Server就必须 使用Windows Server的系统,这就有一个问题了,我们企业中常用的系统是Linux,很多软件也是适用于Linux,企业不会为了使用这个数据库,而更换服务器系统。

又有同学问了,在之前我们介绍Oracle 的时候说他很厉害,问什么不讲它呢?

  Oracle 的数据库确实厉害,可以说的上是业界第一,它称第二,没人敢称第一,但是存在一个问题,Oracle 这个数据库 是收费使用的,我们作为一个普通的学生,为了练习数据库去花钱肯定是不值当的,同时很多企业也不愿意花这个钱,

  相比之下,Mysql 开源免费,很多企业使用的数据库为Mysql,但实际上还是有不少企业在使用 Oracle,比如银行这类组织,为了保证数据的安全性/可靠性,他们使用的是Oracle .

阿里,腾讯、大型互联网企业这样的公司使用Oracle吗?

  以前是使用的,但是现在逐渐不使用了,到了 2021 年使用 Oracle 的团队会比较少了~ 主要还是 Oracle 的成本有点高~高不仅体现在 软件本身的费用, Oracle 发挥十成功力,还需要搭配IBM 小型机的使用。

  补充:小型机是高于微机(家里的电脑)次于超算的 机器,费用也是不菲.

5.Mysql 学习内容

关于Mysql 都要学习哪些内容呢?

1.SQL 基本语句

2.JDBC 编程

3.数据库内部原理 —— 主要面向 面试题

下面 我们来了解一下 SQL 的一些学习的方向

6.Mysql 的安装

我们有三种方式可以安装Mysql

  1. 通过安装包安装(推荐)
  2. 通过绿色版 压缩包 ,解压缩安装
  3. 通过源代码,编译安装

  最简单的方式就是 第一种,在官网下载 安装包 进行安装,一路next ,可能有一些东西需要选择,大家稍微耐心阅读一下描述,大概就知道怎么选择了(如果实在看不懂,没关系,可以选上试试,当前学习阶段,是可以大胆尝试的,不要害怕整错了~整错了也是好事,才会印象更加深刻,大不了,重装系统后又是一条好汉!)然后设置自己的密码,Finish完成安装.

注意

  有的同学反馈, 一路 next 大法有的时候装不上 mysql 服务器了. 如果出现这种情况的同学(安装之后在服务里找不到 mysql)就再次双击安装包, 手动添加一下 MySQL Server.

具体如下:

  第二种比第一种要复杂一些,如果第一种方式安装出现一些问题,我们可以使用第二种方法.

  对于刚接触 Mysql 的小白来说千万不要使用第三种方式进行安装,虽然网上有很多人通过这种方式安装,但是这种最麻烦,最容易出现问题.

  注意: 第一种方式安装 Mysql 不需要配置环境变量 , 2021 年,大部分东西不需要我们手动配置环境变量.

安装完成后就可以启动 mysql 的客户端了.


 在这里我们说一下 客户端 和 服务器的概念吧,这些都是网络编程的基本概念.

客户端: 主动发起请求的一方

服务器: 被动接受请求的一方

  在电脑上我们安装了一个服务器—-Mysql服务器,我们需要先把Mysql 服务器启动,然后我再启动一个Mysql 客户端,Mysql 客户端 通过 网络 与Mysql 服务器 进行通信,在客户端发送一个网络请求, 服务器就给客户端一个 网络响应. 这是较为简单的情况,也就是说 客户端和服务器在同一台主机上.

  但我们知道两台主机也可以通过网络进行通信,网络通信其实可以跨主机.

下面就是 客户端 和服务器 不在一台主机上的情况.

  我们看到这里知道,Mysql 有客户端也有服务器,但谁才是 数据库的主体呢? 其实是 服务器!! 而 客户端呢 只是用来与用户进行交互的界面而已~,所以本体的真正意思是,真正用来存储和管理信息的部分.

  Mysql 的服务器 可以同时给很多的客户端提供服务.如下图:这也是我们在工作中最常见到的情况.


同时我们也应该牢记一点:

  客户端能够工作的前提,是网络通畅,能够访问到 服务器

  如果服务器没有启动,光有客户端,是没有什么用的呃

  当然了,我们自己在学习Mysql 知识,就是符合第一种的情况,客户端和服务器都在一台主机上。但是我们得注意:服务器是不是已经启动了…

  那我们怎么查看服务器是否启动呢?

1.点击搜索,打开服务界面

2.查看 Mysql 选项是否在正常运行

  好了,到这里我们已经让大家基本了解了一下 Mysql 的基本结构,下面我们来看 Mysql 中的一些详细的操作.

二、Mysql 详细操作

1.学习 SQL 语句

SQL 是一种编程语言

  各种不同的数据库,都支持 Sql 这个语言.(不同的 数据库软件,支持的SQL的语法 可能细节上存在差别)

2.关于数据库的操作:

(1) 查看数据库

show databases;

  如果我们 在输入这个命令是单词之间没有空格,我们看一下结果:


 我们一定要去学会如何查看错误信息,学会排查错误.

注意:

1.一定不能忘记加分号,分号说明这条语句结束
2. 每个单词之间记得空格
3. 这里展示所有的数据库,base后面 记得加s
4. ctrl + c 可以终止当前输入
5. mysql 中 不区分大小写

database 没有加 s

; 代表语句结束

ctrl + c 终止输入

我们在客户端 输入完命令后 的结果:

(2) 创建数据库

create database [数据库名];

我们来进行 这个 创建数据库的操作.


 我们创建了一个 名叫 Java100 的数据库,输入命令创建成功,在成功后会有一条具体的提示.

  Query OK,这是我们在创建了一个数据库,然后在服务器中查询成功.

1 row affected (0.01 sec)

  这是mysql 中有一个专门的表,来记录新创建的数据库信息,建了一个新数据库相当于在这个表中插入了一条记录.反应时间: 0.01s

  其实在我们敲下这个 sql 命令的时候。 服务器和客户端就发生了一次 数据的交互.在这里我们可以具体的表示一下.


我们再来看一下我们的数据库:

  我们可以看到在创建了 java100 这个数据库之后,我们再次查看数据库,此时java100 已经在列表当中.

  好了,讲到这里,我们来具体看一下 创建数据库的语法规则

2.2 语法规则


我们来补充一下什么是 字符集 …

2.3 关于”字符集”

我们在这里先问一个问题:计算机中,字母是如何表示的?

计算机里只能存储和表示二进制的数字~~

我们可以使用—>ASCII码表~

  计算机存储a b c这样的字符,本质上存储的是97 98 99这样的二进制的数据~

  注意!! ASCII码表,千万不要背!!!学习编程.很多东西,能不背就不背~背就容易背错.

汉字也是需要在计算机中存储和表示的~~

用一张更大的表来表示数字和汉字之间的对应关系就行了~~

用哪个数字表示哪个汉字?没有一个统一的标准.

有好多套这样的表来表示汉字.每一套这样的表格, 称为是一种|“字符集” / “字符编码”

常用的汉字码表,主要有两套~~

1.GBK:在中国大陆主要使用(汉字数量比较少,有些繁体字就表示不了)

2.unicode ( utf-8 ) :表示的汉字种类很多,还能表示各种类型的语言文字,包括不限于,满文,蒙文,韩文,日文,藏文,阿拉伯文,西班牙文.

  不一定非得使用create database这样的语句来进行指定字符集(每次都得指定,比较麻烦)

  一劳永逸的办法,是直接修改mysql的配置文件,把字符集就固定设成utf-8就可以了[推荐做法]

三、修改mysql配置,设定字符集

1.找到mysql配置文件

2.修改配置文件


3.重启数据库服务器

  数据库还有删除数据库,选中数据库等操作,我们会在下一节中集中介绍.

  好了今天的知识就分享到这里,希望大家多多练习,熟练掌握,感谢大家的欣赏与关注!!

  下一篇~ Mysql 数据库(二)—— 数据库基础 敬请期待~~

谢谢欣赏!

  

未完待续…