数据存储发展史

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简介

  1. 版本问题
    在IT界,生产环境中尽量不要使用最新版本,测试环境中用哪个版本都可以 任何软件,生产环境中,都要使用稳定版本,而不是追求最新版本
    教学使用5.6版本,如果你下载了其他版本也无所谓
    如果你之前的电脑装过mysql,而卸载的方式又不对,就有可能存在很多的残留垃圾文件,如果不删除掉,就有可能导致新的mysql装不上,装上之后,有可能启动不起来,反正就是各种问题!!!
  2. 下载MySQL
  3. 下载
    去挂网下载:https://www.mysql.com/ >>>>>> DOWNLOAD >>>>
    下载下来之后,是一个zip的压缩包,去解压文件
  4. mysql目录介绍:
    bin
    mysql.exe # 这个是mysql自带的客户端
    mysqld.exe # 这个是mysql的服务端
    data
    '''它是mysql的存储数据的地方'''
    my-defalut.ini # 这个是mysql的配置文件
    README # 是说明文件
  5. 如何使用mysql
  1. 先启动服务端,要去到bin路径下找到mysqld.exe启动文件
  2. 启动客户端(新建一个cmd窗口出来),链接服务端(服务端的cmd窗口不能关闭)
  3. ctrl + c是停止服务的
  4. 把mysqld服务端所在的路径加入到环境变量中
  5. 制作系统服务
    目的:就是可以随时关闭mysql的服务端,达到开启自启动,自关闭
  1. 先关闭已经启动的服务端
  2. 在打开cmd窗口:
    mysqld --install (Install/Remove of the Service Denied!) 没有权限
    '''使用管理员方式启动cmd'''
    第一次安装成功之后,服务并没有启动,需要手动启动一次
  3. 启动服务的方式:
    1. 鼠标点击启动按钮
    2. net start mysql # (管理员权限)
  4. 停止服务
  1. 鼠标点击停止
  2. net stop mysql # (管理员权限)
  1. 如何卸载服务
  1. 先关闭服务
  2. mysqld --remove

如何退出客户端: exit
'''
打开服务的方式: 1. 在底部任务栏右键选择任务管理器 >>>>> 服务 2. 此电脑右键 >>> 管理 >>> 服务和应用程序 >>> 服务 3. win + r >>> 输入:services.msc >>> 回车 '''

修改管理员密码及忘记密码怎么办

数据库安装为什么需要Docker_数据库

概念补充

库 >>> 文件夹

表 >>> 文件夹下的文件

记录 >>> 文件夹下的文件下的一行行的数据

''' information_schema库是mysql默认在内存中创建的库 '''

基本SQL语句

在mysql中,sql语句都要以分号结尾!!!

  1. 如何查看所有的数据库
    show databases; # 查看所有数据库
  2. 如何选择数据库
    use 库名;
    user mysql;
  3. 查看当前在哪个库下
    select database();

针对库的SQL语句

  1. 查看库
    show databases; # 查看所有库 show create dabatabse db1; # 查看具体库的信息
  2. 增加库
    create database 库名;
  3. 修改库 # 一般很少用,甚至于不用 alter database 库名 charset='gbk'
  4. 删除库
    drop database 库名;

针对表的SQL语句

  1. 查看表
    show tables; # 查看库下的所有表 desc t1; # 查看表结构 show create table t1;
  2. 增加表
    create table t1(id int, name char(10));
  3. 修改
    修改表名
    alter table t1 rename tt1; # 重命名表名 ALTER TABLE t1 MODIFY name char(6); 修改字符长度 alter table t1 change name NAME char(6);
  4. 删除
    drop table t1;

针对文件内容(记录)

  1. 增加
    insert t1(id,name) values(1,'egon'),(2,'alex');
    insert t1 values(1,'egon'),(2,'alex');
  2. 查找
    select id name from 库名.文件;
    select * from 库名.文件;
  3. 修改
    update 库名.文件 set name = 'sb'; 修改姓名 update 库名.文件 set name = 'sb' where id = 2; 修改id为2的姓名
  4. 删除
    delete from t1;
    delete from t1 where id =2; 删除id为2的一列