【存取数据的演变史】

1.文本文件
    文件路径不固定:C:\aaa.txt  D:\bbb.txt  E:\ccc.txt
    数据格式不统一:jason|123    jason$123    jason 123
------
2.软件开发目录规范
    规定了数据应该保存在db目录下>>>:路径偏向统一
    db/user.txt  db/userinfo.txt   db/jason.json  db/jason
    数据格式还是没有得到统一
     文本 json格式 对象
--------------------------------------------------------
3.数据库服务(重点)
    统一路径,统一操作方式
    降低学习成本,提高开发效率

 

【数据库软件应用史】

1.单机游戏
    数据存储于各个计算机的本地 无法共享
2.网络游戏
    数据存储于网络中 可以共享(数据库服务)
--------------------------------------
数据库服务集群:提升数据的安全性

【数据库的本质】

1.站在底层原理的角度
    数据库指的是操作数据的进程(就是一堆代码,专门干增删改查的操作!!!)
2.站在实际应用的角度
    数据库指的是可视化操作界面(一些软件)
ps:以后不做特殊说明的情况下讲数据库其实指的是数据库软件
----------------------------
数据库软件本质也是CS架构的程序!!!
意味着所有的程序员其实都有资格编写一款数据库软件

【数据库的分类】

 

 

 1 1.关系型数据库
 2     特征1:拥有固定的表结构(字段名 字段类型)
 3 类似于excel表里面的表第一行的表头        id     name    pwd     就是字段名
 4 字段类型:就是在字段名下面要写的数据的应该属于的数据类型,要提前固定好!!!
 5 -----------
 6     特征2:数据与数据之间可以建立数据库层面关系,只要拿到其中的一个,就可以拿到与该有关系的所有!!!
 7         用户表数据
 8         豪车表数据
 9         豪宅表数据
10 -----------
11 关系型数据库软件:
12 MySQL、Oracle、MariaDB、PostgreSQL、sql server、sqlite、db2、access
13     1.MySQL:开源免费,使用最广,性价比贼高。
14     2.Oracle:收费,使用成本较高但是安全性也最高。
15     3.PostgreSQL:开源免费,支持二次开发,兼容性极高。
16     4.MariaDB:跟MySQL是一个作者,开源免费。
17     5.sqlite:小型数据库,主要用于本地测试。
18 ----------------------------------------
19 2.非关系型数据库
20     特征1:没有固定的表结构 数据存储采用K:V键值对的形式
21         {'name':'jason'}
22         {'username':'kevin','pwd':123}
23     特征2:数据之间无法建立数据库层面的关系
24         但可以自己编写代码,额外的干预数据间的关系,建立代码层面的关系
25 ----------
26 非关系型数据库软件:
27     redis、mongoDB、memcache
28     1.redis:目前最火 使用频率最高的非关系型数据库(缓存数据库)
29         虽然缓存数据库是基于内存做数据存取,但是拥有持久化的功能,优势是速度快!!!
30     2.mongoDB:文档型数据库,最像关系型数据库的非关系型数据库!!
31         主要用在爬虫以及大数据领域
32     3.memcache:以及被redis淘汰
33 -------------------------------------------
34 一般大型的软件都需要关系型数据库与非关系型数据库搭配使用
35 关系型数据库用来做持久化,数据往硬盘上存
36 非关系型数据库用来做数据查询,基于内存做数据存取,速度快!
37 -------------------------------------------
38 """
39 虽然数据库软件有很多 但是操作方式大差不差 学会了一个几乎就可以学会所有
40     其中以MySQL最为典型
41 """

 

【MYSQL】

数据库的概念介绍

库------------------》文件夹
表--------------------》文件
记录--------------------》文件内容

name password hobby
jason 123456 football
tom 123456 basketball
表头:表格的第一行字段
字段:name、password、hobby
表单:除了表头以外的内容




【mysql的安装】

 

参考网站:MySQL的官网:https://www.mysql.com/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【环境变量设置】

 

 找到属性------------------高级系统设置------------------环境变量-------------PATH------

 

启动

1.管理员模式下打开cmd,切换到mysql的bin目录下先启动mysql的服务端!!!
    mysqld

2.保持服务端窗口不关闭!!! 重新打开一个新的cmd窗口(客户端不需要用管理员身份打开cmd)

3.游客模式下打开cmd,切换到mysql的bin目录下启动客户端,输入mysql,直接回车就行了。
直接用mysql命令登录客户端是游客模式!!权限与功能比较少!!
    mysql

-------------------------------------------
# 还有一种快捷的启动mysql服务端的方式
打开mysql本地文件,打开到bin目录下   D:\mysql-5.7.28-winx64\bin
然后在上面的地址栏里面,直接敲cmd,就会直接进入命令行,并且切到了bin目录下
然后直接敲mysqld 就行了

 

游客模式cmd打开mysql的客户端!!!

 

直接使用mysql命令,默认是游客模式,权限和功能都很少!!!

 

客户端用户名与密码的方式登录方法:
    mysql -u用户名 -p密码

-------------------

客户端,管理员模式,管理员初始默认没有密码, 连续回车即可!!!!!!
    mysql -uroot -p

-------------------

有些同学的电脑在启动服务端的时候就会报错!!!!!!
解决方法:拷贝报错信息 然后百度搜索:mysql启动报错,粘贴错误信息,基本都能找到解决方案!!!
可能会报错的原因是缺一个文件,缺哪个文件,可以直接复制别人电脑里面的该文件,靠到你电脑里面就行了!!或者到网上找看看能把能下到该文件,或者使用360修复一下!!

管理员模式登录客户端!

 

 。

系统服务的制作

把mysql的服务端做成开机自启动的模式或者说是做成windows系统的守护进程

只要开机了,mysql的服务端自动后台启动,就不需要再用cmd命令了!!!

这样以后想用mysql的客户端的话,就cmd命令输入账号密码就行了,

 

1.先把bin目录添加到环境变量中
    清空之前打开的cmd窗口 一定要把之前用cmd启动的服务端与客户端全部关闭直接叉掉窗口
    或者在命令行里面按ctrl+c
----------------------------

2.将mysql添加到系统服务中
    1.如何查看系统服务
        鼠标点到桌面最下面右键一下,点击任务管理器,点击服务,就能看到所有系统服务了
        或者Ctrl+Alt+Del 打开任务管理器,点击服务
        装逼的方法>>: windows+R命令栏里面输入services.msc回车,也能看到系统服务
    2.必须要以管理员身份打开cmd窗口!!!!!!
        mysqld --install  就将mysqld服务端安装到windows的开机自启服务里面去了
----------------------------

3.首次添加不会自动启动,需要人为操作一下,启动mysql的系统服务
在服务里面先刷新一下,找到mysqld
    1.鼠标右键点击启动
    2.命令行启动,继续在cmd命令栏里面输入命令:
        net start mysql

--------------------------------------------

4.如果想卸载重新安装mysql的系统服务
    1.先关闭系统服务
        net stop mysql
    2.移除系统服务
        mysqld --remove

密码相关操作 重要!!!

修改密码 在原密码知道的情况下,先登录mysql后,再改密码

方式一在cmd主界面输入命令:mysqladmin -u用户名 -p原密码 password 新密码

方式二在cmd界面已经登录成功的情况下输入命令:set password=password('新密码');

 

1.管理员账号 修改密码
    方式1:mysqladmin  注意要先exit退出mysql,回到cmd终端初始窗口,
        mysqladmin -u用户名 -p原密码 password 新密码
如果是一开始管理员没有密码的时候,-p后面可以不写,该方法可以改密码。
如果管理员已经改过密码了,但是现在忘了以前的密码了,那就不能用该方法来改密码了!!!
----------------------------------------------------

    方式2:直接修改存储用户数据的表(主要是管理员改其他人的密码的时候要用!!)
----------------------------------------------------

    方式3:冷门操作 有些版本可能还不支持 当前登录的是谁,改的就是谁的密码!!!
       set password=password('新密码');    # 修改当前登录用户的密码 注意后面的分号;不能少!!

 .第一种方法改密码!!!这个时候再不输密码就登录不上去了!!!

 

 。

登录的话可以在mysql -uroot -p后回车一下,在Enter password:后面输密码,
这个时候密码是密文的形式,比较推荐用
如果比较急,就直接 mysql -uroot -p密码 也行就是这样密码容易被人看到,不安全

 .管理员改自己密码,在mysql登录进去后,输入命令set password = password('新密码')
也可以改密码!!!

 。

编辑配置文件my.ini

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 ---这里输入你安装的文件路径----
basedir=D:\mysql-8.0.28-winx64

# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.28-winx64\data

# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

安装Mysql,配置服务

# 来到mysql解压后的bin路径下(以管理员身份运行)

# 安装mysql  安装完成后Mysql会有一个随机密码(记住这个密码)
mysqld --initialize --console

# 把mysql创建成系统服务
mysqld --install mysql

# 启动mysql服务
net start mysql

------------------------------

如果使用上述方式无法创建服务可以使用如下方式
# 如果使用上述方式无法创建服务可以使用如下方式
# 创建系统服务
sc create mysql binpath= "D:\mysql-8.0.28-winx64\mysql-8.0.28-winx64\bin\mysqld --defaults-file=D:\mysql-8.0.28-winx64\mysql-8.0.28-winx64\\my.ini" start= auto displayname= "mysql8"
# sc create mysql binpath= "D:\mysql-8.0.28-winx64\mysql-8.0.28-winx64\bin\mysqld"

# 删除系统服务
sc delete mysql

升级mysql版本后,还想保留原版本里面的库数据,操作

升级mysql版本后,还想保留原版本里面的库数据,操作见
https://www.jb51.net/article/212626.htm

最后用新的sql去打开Backup.sql文件的,完成后刷新一下,老的数据库里的文件全过来了!!

--------------------------------------

新的数据库的客户端的运行,及服务端的运行 有问题,参考老刘博客,直接拷过来!!!

 

【Navicat使用】

 

 

 

(外键的创建步骤)

 

 

 

当有一些要求无法满足是,可以自己写

 

 

posted on 2024-01-19 14:55  认真的六六  阅读(5)  评论(0编辑  收藏  举报