数据存储发展史
1.单机游戏阶段
数据各自保存在各自的电脑上,不能实现数据的共享
2.联网游戏核心就是可以在计算机之间数据共享,数据库一定是基于网络的!!!
数据库的本质
'''数据库的本质其实就是cs架构的软件'''
cs架构的软件就必须有服务端和客户端,理论上来说,我们每个人都能写一款数据库出来,只不过是你写的数据库没人用,因此,市面上有很多牛逼的程序员,就写了很多的数据库软件,所以,你也会发现,现在市场上的确有很多的数据库
数据库的分类
1.关系型数据库
MySQL、Oracle、SqlServer、PostgreSQL、sqlite、MariaDB、db2、access
MySQL:开源免费的
Oracle:不开源,收费
MariaDB:开源的
2.非关系型数据库
Redis缓存数据库(新项目使用)memcahce缓存数据库(老项目有再用)、MongoDB(爬虫)redis淘汰了memcahce
3.二者的特点
关系型数据库: 拥有固定的表结构,表与表之间可以建立关系 非关系型数据: 没有固定的表结构,它是以K:V键值对的形式存储数据 name------------------->kevin age-------------------->20
sql与NoSql
服务端为了兼容各个客户端的交互,统一规定了交互格式:
mysql >>>>>>: sql
redis >>>>>>>: nosql
MySQL简介
- 版本问题
在IT界,生产环境中尽量不要使用最新版本,测试环境中用哪个版本都可以
任何软件,生产环境中,都要使用稳定版本,而不是追求最新版本
教学使用5.6版本,如果你下载了其他版本也无所谓如果你之前的电脑装过mysql,而卸载的方式又不对,就有可能存在很多的残留垃圾文件,如果不删除掉,就有可能导致新的mysql装不上,装上之后,有可能启动不起来,反正就是各种问题!!!
- 下载MySQL
- 下载
去挂网下载:https://www.mysql.com/ >>>>>> DOWNLOAD >>>>
下载下来之后,是一个zip的压缩包,去解压文件 - mysql目录介绍:
bin
mysql.exe # 这个是mysql自带的客户端
mysqld.exe # 这个是mysql的服务端
data
'''它是mysql的存储数据的地方'''
my-defalut.ini # 这个是mysql的配置文件
README # 是说明文件 - 如何使用mysql
- 先启动服务端,要去到bin路径下找到mysqld.exe启动文件
- 启动客户端(新建一个cmd窗口出来),链接服务端(服务端的cmd窗口不能关闭)
- ctrl + c是停止服务的
- 把mysqld服务端所在的路径加入到环境变量中
- 制作系统服务
目的:就是可以随时关闭mysql的服务端,达到开启自启动,自关闭
- 先关闭已经启动的服务端
- 在打开cmd窗口:
mysqld --install (Install/Remove of the Service Denied!) 没有权限
'''使用管理员方式启动cmd'''
第一次安装成功之后,服务并没有启动,需要手动启动一次 - 启动服务的方式:
1. 鼠标点击启动按钮
2. net start mysql # (管理员权限) - 停止服务
- 鼠标点击停止
- net stop mysql # (管理员权限)
- 如何卸载服务
- 先关闭服务
- mysqld --remove
如何退出客户端: exit
''' 打开服务的方式: 1. 在底部任务栏右键选择任务管理器 >>>>> 服务 2. 此电脑右键 >>> 管理 >>> 服务和应用程序 >>> 服务 3. win + r >>> 输入:services.msc >>> 回车
'''
修改管理员密码及忘记密码怎么办
概念补充
库 >>> 文件夹
表 >>> 文件夹下的文件
记录 >>> 文件夹下的文件下的一行行的数据
''' information_schema库是mysql默认在内存中创建的库 '''
基本SQL语句
在mysql中,sql语句都要以分号结尾!!!
- 如何查看所有的数据库
show databases; # 查看所有数据库 - 如何选择数据库
use 库名;
user mysql; - 查看当前在哪个库下
select database();
针对库的SQL语句
- 查看库
show databases;# 查看所有库
show create dabatabse db1;# 查看具体库的信息
- 增加库
create database 库名; - 修改库
# 一般很少用,甚至于不用
alter database 库名 charset='gbk' - 删除库
drop database 库名;
针对表的SQL语句
- 查看表
show tables;# 查看库下的所有表
desc t1;# 查看表结构
show create table t1; - 增加表
create table t1(id int, name char(10)); - 修改
修改表名
alter table t1 rename tt1;# 重命名表名
ALTER TABLE t1 MODIFY name char(6);修改字符长度
alter table t1 change name NAME char(6); - 删除
drop table t1;
针对文件内容(记录)
- 增加
insert t1(id,name) values(1,'egon'),(2,'alex');
insert t1 values(1,'egon'),(2,'alex'); - 查找
select id name from 库名.文件;
select * from 库名.文件; - 修改
update 库名.文件 set name = 'sb';修改姓名
update 库名.文件 set name = 'sb' where id = 2;修改id为2的姓名
- 删除
delete from t1;
delete from t1 where id =2;删除id为2的一列