数据库

软件开发架构

  1. c/s 架构

c:client 客户端

s:server 服务端

2. b/s 架构

b:broswer:浏览器

s:server:服务器

服务端就类似于是一家家的店

客户端就类似于是去店里消费的客人

c/s架构下

我们客人要想体验服务,就必须下载对应服务的app客户端

b/s架构下

我们要想体验服务,必须要挨个下载对应的app,只需要使用浏览器即可

我们之前下载的一个个app其实本质就是服务端提供的客户端

"""

# b/s架构本质上也是c/s架构(浏览器充当了所有服务端的客户端)

数据库的演变过程

单机游戏

1.不用联网

2.计算机与计算机之间游戏数据不共享

数据都是保存的各自的本地(数据彼此不共享)

联网游戏

1.得有互联网

2.游戏数据是共享的

数据彼此都是共享的

总结:其实数据库软件本质上还是c/s架构的软件 (本质还是一个服务端多个客户端,客户端朝服务端写数据拿数据的过程)

数据库的作用

文件存储数据

用户A

jason:123

用户B

jason|123

用户C

jason~123

每个人存储数据的格式是千差万别的,程序兼容性非常的差

按照数据类型的不同创建不同的文件夹处理

存储数据的文件一般情况下我们都会默认放在一个data文件夹内

虽然没有解决数据格式的问题,但是统一了数据存储位置的问题

数据库软件

1.针对数据的存储有固定的格式

2.针对数据的存储位置也做了限制(统一都存在数据库服务端)

数据库的分类

1.关系型数据库

MySQL、Oracle、PostgreSQL、MariaDB(跟MySQL很像)、DB2、SQL server、sqlite

特点:

1.存储数据基本上都是以表结构的形式(表结构 表字段 字段类型)

2.表与表之间可以创建代码层面上的关系(后续课程会详细的讲)

用户表

房屋表

虽然数据库软件有很多,但是内部原理的都是一样的,尤其是当你学会了MySQL之后,再去学其他的数据库软件非常的轻松

2.非关系型数据库

redis、mongoDB(后续讲爬虫会讲到)、memcache(被redis取代了)

特点:

1.存储数据没有表结构,基本上都是以key:value键值对的形式

2.数据与数据之间无法创建代码层面上的关系

MySQL简介

MySQL仅仅只是一款基于C/S架构开发的数据库软件

MySQL服务端

MySQL客户端

学习阶段我们可以下载一个MySQL的压缩包,里面包含了MySQL的服务端和客户端

可以让学习的用户在自己的机器上有服务端和客户端从而摆脱必须要联网才能学习的麻烦

由于可以充当MySQL的客户端非常的多,会导致语言沟通的障碍

为了解决这个问题,我们统一了数据库语

SQL语句(客户端与服务端沟通交流的媒介)

# 总结:SQL语句的由来其实体现的就是"统一"思想(就像现在用的微信支付宝,里面各种小程序)

MySQL下载与安装

MySQL的版本问题

1.MySQL5.6

2.MySQL5.7

3.MySQL8.0

# 在IT行业,我们基本上不会轻易的尝试新版本的软件,尤其是运行的好好的没有任何问题的项目,我们更不会傻吧垃圾的去更新软件版本

针对MySQL的版本问题,目前市面上使用的最多的恰恰是MySQL5.6版本

使用哪个版本其实问题不大,因为内部的SQL语句都是一样的

下载地址

https://www.mysql.com/




mac 查看本地mysql版本 cmd查看mysql数据库版本_MySQL


mac 查看本地mysql版本 cmd查看mysql数据库版本_服务端_02


mac 查看本地mysql版本 cmd查看mysql数据库版本_mac 查看本地mysql版本_03


注意这个是服务端和客户端在一块的(供学习使用)


mac 查看本地mysql版本 cmd查看mysql数据库版本_MySQL_04


查看以前版本


mac 查看本地mysql版本 cmd查看mysql数据库版本_服务端_05


解压

MySQL的目录结构

bin文件夹

都是用来存放可执行文件启动文件的

data文件夹

MySQL存放数据的地方

my-default.ini

MySQL的配置文件

Readme

类似于软件说明书,主要用于介绍软件功能、打广告等

MySQL的启动

在bin目录下

mysqld.exe MySQL服务端

mysql.exe MySQL客户端

如何启动

一定要先启动服务端才可以用客户端去连接


mac 查看本地mysql版本 cmd查看mysql数据库版本_服务端_06


如果在启动服务的时候出现了报错,不要慌,百度搜索即可解决问题

在启动的时候最好是用管理员的身份运行的cmd窗口

客户端链接MySQL需要输入用户名和密码

mysql -uroot -p

初始MySQL管理员是没有密码的,你直接enter即可


mac 查看本地mysql版本 cmd查看mysql数据库版本_mac 查看本地mysql版本_07


如果你直接输入mysql那么你会以游客模式的身份进入(权限非常的少)

环境变量的配置

1.将mysqld.exe和mysql.exe所在的文件路径添加到环境变量中

系统服务

将MySQL的服务端制作成系统服务(开机自启动)

1.保证你的MySQL服务端关闭的情况下

用管理员身份打开cmd窗口

2.制作系统服务

mysqld --install

3.启动服务

第一次制作系统服务之后需要你主动启动一次

1.命令行

net start mysql

# net stop mysql 停止服务

2.操作界面点点点即可

右键启动即可

完毕之后,后续就无需手动启动了,会随着计算机的开机和关机自动启动和关闭

4.移除服务

mysqld --remove

"""

如何查看当前计算机内部所有的服务

1.windows+r调出输入框

services.msc

2.任务栏直接鼠标右键选择任务管理器

查看正在运行的服务

3.命令行

在cmd中输入 tasklisk

"""

MySQL的重要概念

数据库 文件夹

数据表 文件夹里面的一个个文件

数据记录 文件里面的一行行数据

简单的SQL操作

在链接到MySQL服务端之后,所有的SQL语句结束符是分号

1.客户端链接服务端

mysql -uroot -p

2.查看所有的数据库

show databases;

3.退出服务端命令(可以不加分号)

exit

quit

4.取消之前没有加分号的命令

c

设置密码

1.直接在cmd窗口内输入命令(不进去MySQL服务端)

mysqladmin -u用户名 -p旧密码 password 新密码

# 第一次修改

mysqladmin -uroot -p password 123

# 第二次修改

mysqladmin -uroot -p123 password 123456

2.进入MySQL服务端之后输入SQL语句

set password=PASSWORD('新密码');

忘记密码

1.关闭你的MySQL服务端

net stop mysql

2.以跳过授权表的方式重新启动MySQL服务端

mysqld --skip-grant-tables

3.修改忘记密码用户的密码

update mysql.user set password=password('jason123') where user='root' and

host = 'localhost';

4.先关闭之前命令行启动的服务端,然后正常启动MySQL服务端

net start mysql

5.重新输入用户名和密码的方式

mysql -uroot -p

配置文件

# 查看当前MySQL的基本信息

s

# 统一MySQL的字符编码

mysql默认的配置文件不要修改,拷贝一份再修改

my.ini

只需要拷贝固定的配置即可

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

# 修改配置文件之后一定要重启服务端才能生效 进入任务管理重启