一、数据库
1.1 数据库数据的演变史
1. 把数据都存在了文件中
文件名不规范
kevin|123 kevin@123 kevin*123
2. 存储数据的文件越来越多,放在db文件夹
随着用户的注册量越来越多,文件数也会越来越多,会占用大量的空间,以及查询和存储都不方便,还有速度很慢
3. 数据库软件就能够解决以上所有的问题:存储数据的
1.2 数据存储的发展史
1. 单机游戏
# 本质上是把数据都存在了本地
2. 网络游戏
# 本质上是把数据存在了一个公共的地方,以后不管你身在何处使用数据的时候都是从这个公共的地方取值
1.3 数据库的本质
既然是cs架构的软件,那就必然会有服务端和客户端,理论上来说,我们自己也能够开发一款数据库软件,只需要开发一个客户端,一个服务端即可。只不过你开发的数据库软件没人用,只能你自己玩。
注:本上就是一款基于C/S架构编写的软件
1.4 数据库的分类
1. 关系型数据库
MySQL、Oracle、PostgreSql、SqlServer、db2、access、MariaDB、sqllite等
MySQL:开源的
Oracle:收费的
MariaDB:和MySQL的作者是一个特点:具备固定的表结构,表与表之间可以建立关系
2. 非关系型数据库
Redis缓存数据库(五大数据类型) memcache数据库(支持一种字符串类型的K:V键值对) MongoDB数据库(爬虫)
注:Redis缓存数据库基本上是把memcache数据库淘汰了特点:没有表结构,它的存储形式是:K:V键值对的形式
1.5 SQL与nosql的介绍
MySQL数据库为了兼容各个语言,那么,就统一规范了格式:
关系型数据库:SQL
非关系型数据库:nosql
二、MySQL数据库的介绍
2.1 版本问题
MySQL5.6 # 使用较多的,比较稳定的
MySQL5.7 # 使用较多的,比较稳定的
MySQL8.0 # 新版本,对于MySQL来说,版本的更新不变的是SQL语句的书写
2.2 主要文件介紹
bin
mysql.exe # 自带的客户端
mysqld.exe # 自带的服务端data:MySQL的数据存储的地方
my-default.ini:这个是MySQL的配置文件
README文件是MySQL的说明文件,类似于是说明书
2.3 MySQL如何使用
4.1
mysqld.exe是服务端,应该先启动这个文件, 这里不能双击了,需要通过cmd的方式启动
步骤:
在bin目录下,执行mysqld就是启动服务端的
在bin目录下,执行mysql就是客户端来链接的,输入mysql即可,初次链接默认是没有密码的
# 停掉MySQL的服务端:ctrl + c
4.2
加入环境变量:bin目录所在的路径加入到环境变量中
4.3 MySQL服务的制作
目的:就是可以把服务端的cmd窗口关闭,只留一个客户端的cmd即可
# 如何查看服务
1. 在任务栏里打开任务管理器------>服务
2. 点击此电脑------>管理------->服务
3. win + R------->services.msc----------->服务
"""制作MySQL的服务步骤"""
1. mysqld --install(需要管理员权限) # Install/Remove of the Service Denied!
mysqld --install(需要管理员权限) # Service successfully installed.
# 第一次安装成功服务是没有启动的,需要手动启动一次
2. 启动服务
1. 直接点击启动------》mysqld------>服务端就不需要在打开cmd启动了---->后台工作
2. 命令启动
net start mysql # 启动服务的 (需要管理员权限)
3. 关闭服务
net stop mysql # 停止服务 (需要管理员权限)
3. 如何卸载服务以及安装服务
"""卸载服务的时候一定要先关闭服务"""
mysqld --remove
mysqld --install
2.4 MySQL如何登录
服务端需要设置密码,然后让客户端通过用户名和密码进行登录
# 默认情况下,初次安装成功,链接是不需要密码的如何给管理员设置密码
mysqladmin -u 用户名 -p 旧密码 password 新密码 # 修改管理员密码也是这个命令
mysqladmin -u root -p password 123## 管理员就具备了密码
客户端在链接的时候需要使用密码链接:
mysql -u root -p # 链接的是本地的MySQL# 完整的链接命令
mysql -h 127.0.0.1 -P 3306 -u root -p如果不用root登录就是游客模式,权限比较低,没有root用户的权限高,一般功能首先,就是只能查看,不能操作
2.5 忘记密码怎么办?
忘记密码就需要修改密码
修改密码的步骤1. 关闭服务端
2. '跳过授权表'的形式启动服务端
'跳过授权表' >>>: 意味着以后客户端来链接服务端的时候,只需要用户名,不在验证密码
3. 如何跳过授权表
mysqld --skip-grant-tables
4. 跳过授权表成功之后,修改管理员的密码
update mysql.user set password=password('1234') where Host='localhost' and User='root';
2.6 基本的SQL语句的使用
1. 针对库的SQL语句
# 增加
create database 库名;
# 查看库
show databases;
show create database db1;
# 修改库(基本上不用,直接删掉直接创建)
alter database db1 charset='utf8';
# 删库跑路
drop database db1; # 不要轻易使用(测试环境随便使用,线上环境一般情况下你是没有权限)2.针对表的SQL语句
"""如何选择库"""
use 库名;
use db1; # 双击db1文件夹了
# 增加表
create table 表名 (id 数据类型, name 数据类型, gender 数据类型)
create table t1(id int, name varchar(32), gender varchar(32));
# 修改表
alter table t1 rename t2; # 修改表名
# 查看表
show tables;
show create table t1; # 查看表结构
desc t1; # 查看表结构,格式化了
# 删除表
drop table t2;