数据的演变史
'''以ATM为例'''
1. 把数据存在了文件中
文件名:user.txt、userinfo.txt
数据格式:kevin|123、kevin@123、kevin!123
2. 软件开发目录规范
db文件夹
# 专门用来存储数据文件,但是,当数据文件较多的时候,占用过多的资源,也会产生很多的文件
3. 数据库阶段
# 解决了以上所有的问题
"""采用统一的存储格式"""
数据的发展史
1. 单级游戏阶段
# 数据会单独存放在每一台计算机上,不是实现数据的共享
2. 联网游戏阶段
# 实现了数据的共享、把数据单独存放在服务器上面(一台计算机)
数据的分类
1、关系型数据
MySQL、Oracle、SQLserver、DB2、sqllite、access、MariaDB等
# MySQL数据库:开源的
# MariaDB
# Oracle:收费的
"""以上两款数据库是同一个作者"""
2、非关系型数据库
Redis(缓存数据库)、memcache(缓存数据库)、mongoDB(爬虫等)
"""Redis数据库是目前市面上使用最多的"""
# Redis数据库把memcache淘汰了,没有用memcache(老项目之前用的,现在没有更换,还再用)
Redis能做的事情,memcache不能做
memcache不能做的使用,Redis都能做
Redis支持的数据类型要比memcache多的多
二者的特点:
1. 关系型数据库顾名思义就是可以建立关系
# 拥有固定的表结构,表与表之间可以建立表关系
2. 非关系型数据不能够建立表关系
# 它是以K:v键值对的形式存在的
# 压根就没有表的概念
数据库的本质
本质:其实是一款C/S架构的软件
C/S架构的软件必须是有客户端和服务端的,理论上来说,我们自己也能够开发出一款数据库软件,只不过你开发的数据库软件是没有人使用的,除非你自己自嗨。
所以,你会市面上有很多NB的程序员开发出了很多的数据库软件,因此,你也看到了的确存在了很多的数据库
"""要站在巨人的肩膀上才能走的更高!,很多事情不要想着什么都自己来做"""
SQL与NoSql的由来
对于关系型数据库,为了兼容各个客户端,所以,每个客户端都要使用MySQL语言,而这个MySQL语言就是我们说的SQL语句----->关系型数据库
非关系型数据库:Nosql语句
MySQL的介绍
# 版本的介绍
MySQL5.0 (版本不稳定)
MySQL5.5 (用的很少,老项目还再用)
MySQL5.6 (老项目用的比较多,版本很稳定)
MySQL5.7 (新项目在选择数据库的时候,使用的就是这个版本了)
MySQL8.0 (最新版本,现在生产环境用的还不是很多)
"""在IT领域,生产环境尽量不要使用最新版本,因为,新版本毕竟没有经过大量的测试,不够稳定"""
生产环境:你的项目上线之后的环境
测试环境:你在本地自己玩,无所谓了
# 尽量使用5.6之后的版本,
如果你之前已经装过其他版本了,也无所谓,反正是测试阶段,用哪个版本都行,但是,最后跟我的版本一致
你卸载的时候,使用了不正确的卸载方式,卸载了MySQL,那么,有可能在你的电脑上留下很多的残留文件,你再次去安装的时候,有可能装不上,
你可以下载一个杀毒软件,可以检测你电脑上的残留垃圾文件,把检测出来的垃圾文件删除即可
MySQL的下载与安装
1 下载
官网下载链接:https://downloads.mysql.com/archives/community/
·········································
2 下载完,如何使用?
下载出来是压缩包,直接解压使用
·········································
3 MySQL的主要文件介绍
bin:存放mysql的一些启动文件
mysql.exe:MySQL自带的客户端
mysqld.exe:MySQL自带的服务端
data:mysql数据的存储文件夹
my-default.ini:MySQL的配置文件
README:MySQL的说明文件
·········································
4 MySQL如何启动
'由于MySQL是有客户端和服务端的,因此,我们要启动服务端和客户端来使用'
# 一定要先启动服务端:mysql.exe
# 然后再启动客户端去连接服务端
'启动服务器':mysqld '启动客户端' mysql ---exit
'关闭服务器' :cltr + c '关闭客户端':exit
如何启动:
1 先切换路径到bin目录下
打开cmd-->输入mysql启动服务端-->再打开一个cmd窗口-->输入mysql连接服务器
2 客户端连接上服务端之后,如何退出客户端
exit
3 服务端启动之后,如何终止(停掉)服务端
cltr + c
'localhost : 代表的是本机'
'127.0.0.1 :代表的也是本机'
'某些情况下,这两个是有区别的'
·········································
5 加入环境变量
x:xxxx\xxxxx\bin(数据库的路径)加入到环境变量中,达到在任何位置都可以找到服务端和客户端程序
·········································
6 系统服务制作
1 先打开cmd窗口
mysqld --install # Service successfully installed
#第一次安装,需要手动启动按钮
2 如何启动服务
1 鼠标点击启动按钮
2 net start mysql
3 如何关闭服务
1 鼠标点击启动按钮
2 net stop mysql
4 如何卸载MySQL服务
mysqld --remove
'以上操作都需要管理员权限'
7 卸载MySQL
1 先卸载服务
2 再关闭服务器
3 直接删除MySQL的文件夹
管理员修改密码
# 登录mysql
1 游客模式登录 mysql
# 功能很少,权限很低
2 管理员登录:mysql -u root -p # 直接回车就登录成功了
3 如果你连接的是别的电脑上的数据库,需要指定ip和port
mysql -h 127.0.0.1 -p 3306 -u root -p 123
4 给管理员设置密码
mysqladmin -u root -p 旧密码 password 新密码
5 如果密码忘记怎么办?
'使用跳过授权表的形式'
1 先把服务器关闭
2 使用'跳过授权表'的形式启动服务端
mysqld # 不跳过授权表
mysqld --skip-grant-table # '跳过授权表'
'跳过授权表的意思:客户端再连接服务端的时候,不要验证密码了,直接登录成功'
3 再次使用管理员账号来登录进去,就不需要密码了。
# 进入mySQL,需要修改密码
update mysql.user set password=password('root') where Host='localhost' and User='root';
flush privileges # s刷新权限
退出客户端
退出服务端
4 改完之后,一定要终止服务端,重新不跳过授权表,启动服务端,再次使用管理员登录即可。
MySQL的配置文件
mysql的默认配置文件:my-default.ini
配置文件有什么用?
# 修改字符编码
把my.ini中有的内容直接删掉,然后换成下面的内容
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
\s 输出一些MySQL的基本信息
# 以后只要配置文件发生了改变,一定要重启服务端,配置文件才生效
# 总结
1 先启动系统服务
net start mysql
2 进入mysql客户端。
注意:要使用管理员登录,游客登录权限少
3 \s
4 重启服务端,然后再输出配置文件就会把配置文件更改掉。
重要的概念
库 --> 文件夹
表 --> 文件夹中的文件
记录 --> 文件夹中的文件中 的一行行数据
#先有库 再有表 最后有记录
先创建数据库,在库里面创建数据表, 最后在表中插入数据
数据库相关命名
1 查看所有的数据库 # 要使用下列命令 必须管理员登录
show databases; # 查看所有的库
information_schema # 默认创建在内存中的数据库
mysql # MySQL默认创建的数据库,不要动
performance_schema #
test # 空数据
show create database 库名; # 查看数据库的基本信息
2. 如何选择数据库
use 库名;
use mysql; 选择mysql 库
show tables;查看库中所有的表。
3. 如何增加数据库
create database db1;
4. 如何删除数据库
drop database db1;
5. 修改数据库
# 一般情况下, 我们只要创建了数据库,就不会去修改,如果要修改,就直接删掉,从新创建
alter database db1 charset='gbk';
# 总结
'常用命令'
show databases; # 查看所有的库
show create database 库名; # 查看数据库的基本信息
use 库名; 例子--> use myslq; # 选择库
create database 库名;# 增加库
drop database db1;# 删除库
alter database 库名 charset='gbk';#修改库