ATM:1. 把数据都存在了文件中,文件名不规范 kevin|123 kevin@123 kevin*123
2. 存储数据的文件越来越多,放在db文件夹,占用空间,查询存储不方便,速度慢# 数据库软件能解决:1000 0000以下不影响速度,加索引更快,用起来方便
1. 单机游戏 # 产生的数据在本机电脑上存着
2. 网络游戏 # 有公共存储数据的地方,不管在何处使用数据时都是从这个公共的地方取值
# 本质上就是一款基于C/S架构编写的软件,必然有服务端和客户端,我们自己也能开发一
款数据库软件,只需要开发一个客户端,一个服务端即可
# 分类:
关系型数据库:
MySQL、Oracle、PostgreSql、SqlServer、db2、access、MariaDB、sqllite等
MySQL:开源的
Oracle:收费的
MariaDB:和MySQL的作者是一个非关系型数据库:
Redis缓存数据库(五大数据类型) memcache数据库(K:V键值对) MongoDB数据库(爬虫)# 关系型数据的特点:具备固定的表结构,表与表之间可以建立关系(Excel表格)
id name age gender
1 kevin 20 male
1 kevin 20 male
1 kevin 20 male
1 kevin 20 male
1 kevin 20 male
1 kevin 20 male
# 非关系型数据:没有表结构,它的存储形式是:K:V键值对的形式
name:kevin
age:20
MySQL数据库为了兼容各个语言,那么,就统一规范了格式:
关系型数据库:SQL
非关系型数据库:nosql
1. 版本问题:
# 5.5 之前的都有,哪些版本目前几乎都不用了
MySQL5.6 # 使用较多的,比较稳定的
MySQL5.7 # 使用较多的,比较稳定的
MySQL8.0 # 新版本,对于MySQL来说,版本的更新不变的是SQL语句的书写
# 数据库软件是需要下载和安装的,卸载不彻底再安装会启动不起来MD5 效验安全性
2. 下载与安装:官网下载:https://www.mysql.com/
3. 主要文件介紹
bin
mysql.exe # 自带的客户端
mysqld.exe # 自带的服务端data:MySQL的数据存储的地方
my-default.ini:这个是MySQL的配置文件
README文件是MySQL的说明文件,类似于是说明书4. MySQL使用
1、 先启动服务端,然后启动客户端链接(cmd)
2、 把路径加入环境变量中(bin路径)
3、系统服务的制作
5.MySQL服务的制作
"""就是可以把服务端的cmd窗口关闭,只留一个客户端的cmd即可,启动后可以永久服务"""
# 以管理员权限打开cmd
# 如何查看服务: 1. 在任务栏里打开任务管理器------>服务
2. 点击此电脑------>管理------->服务
3. win + R------->services.msc----------->服务# 制作MySQL的服务步骤
安装命令:mysqld --install (需要管理员权限)
启动命令:net start mysql (需要管理员权限)/ 直接点击启动
停止命令:net stop mysql (需要管理员权限)
卸载命令:mysqld --remove
安装命令:mysqld --install
"""卸载服务的时候一定要先关闭服务"""
# 需要用户名和密码
# 一定是在客户端连接服务端,因此,服务端要优先启动
# 在客户端的cmd中:
mssql # 初次安装不需要密码直接登录,游客模式,权限比较低,只能查看,不能操作
mysqladmin -u root -p # 回车,输入密码,连接本地的MySQL
# 阿里云的rds数据库--》公司买的、阿里云数据库---》只需要使用 mysql -h 127.0.0.1 -p 33-6 -u root -p # 连接远端数据库命令
给管理员设置密码:
mysqladmin -u root -p 旧密码 password 新密码 #一定要在bin目录中进行
1、管理员身份运行cmd
net stop mysql # 停止mysql服务,回车运行
mysqld --skip-grant-tables # 使用无验证方式启动mysql服务
2、打开新cmd窗口输入命令,
mysql # 无验证登入数据库
use mysql; # 用数据库mysql
update user set password=password('新密码') where user='root'; # 修改密码
3、关闭两个cmd窗口,启动MySQL
4、更改成功,尝试登录
库 >>> 文件夹 表 >>> 文件 记录 >>> 文件中得一行行数据 字段 >>> 表的表头 # 先有 库 >>> 表 >>> 记录 >>> 字段
一个库中可以有多张表,一个表中可以有很多条记录,也可以有多个字段
"""在MySQL中,SQL语句都是要以分号结尾;"""
# 库的SQL语句:
增加库:create database 库名;
查看库:show databases; / show create database db1;
修改库:alter database db1 charset='utf8'; # (基本上不用,直接删掉直接创建)
删库跑路:drop database db1; # ,不要轻易使用
# 针对表的SQL语句:
选择库:use 库名; # use 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;