day39

今日内容概要

  • 数据库数据的演变史

  • 数据存储的发展史

  • 数据库的本质

  • 数据库的分类

  • SQL与nosql的介绍

  • MySQL的介绍

  • MySQL的下载与安装

  • MySQL服务的制作

  • MySQL如何登录

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

  • 基本的SQL语句(针对库、表、记录的增删改查)

数据库的演变史

1.把数据都存在了文件中
    文件名不规范  kevin|123  kevin@123 kevin.123

2.随着用户的注册量越来越多,文件数也会越来越多,会占用大量的空间,以及查询和存储都不方便,还有速度很慢

3.数据库就能解决以上所有的问题:存储数据的,用起来非常方便

数据储存的发展史

1.单机游戏:本质上是把数据都存在了本地
2.网络游戏:本质上是把数据存在了一个公共的地方,以后不管你在哪都是从这个公共的地方取值

数据库的本质

本质上就是一款基于C/S架构编写的软件
既然是cs架构的软件,那就必然会有服务器端和客户端,理论上来说,我们自己也能够开发一款数据库软件,只需要开发一个客户端,一个服务端即可,只不过你开发的数据库软件没人用而已。
这个时候就有一些牛币的程序员,开发了很多款的数据库软件

数据库的分类

1.关系型数据库
 MySQL、Oracle、PostgreSql、SqlServer、db2、access、MariaDB、sqllite等
     MySQL:开源的
     Oracle:收费的
     MariaDB:和MySQL的作者是一个

2.非关系型数据库
    Redis缓存数据库(五大数据类型)
    memcache数据库(支持一种字符串类型的k:v键值对) MongoDB数据库(爬虫)
Redis缓存数据库基本上是把memcache数据库淘汰了

    关系型数据的特点:具备固定的表结构,表与表之间可以建立关系(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
        

SQL与nosql的介绍

MySQL数据库为了兼容各个语言,那么就统一规范了格式:
关系型数据库:SQL
非关系型数据库:nosql

MySQL数据库的介绍

1.版本

 5.5 之前的都有,哪些版本目前几乎都不用了
    MySQL5.6   # 使用较多的,比较稳定的
    MySQL5.7   # 使用较多的,比较稳定的
    MySQL8.0   # 新版本,对于MySQL来说,版本的更新不变的是SQL语句的书写
2.下载与安装
    官网下载:https://www.mysql.com/

#1、下载:MySQL Community Server 5.7.16
http://dev.mysql.com/downloads/mysql/

#2、解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64

#3、添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

#4、初始化
mysqld --initialize-insecure

#5、启动MySQL服务
mysqld # 启动MySQL服务

#6、启动MySQL客户端并连接MySQL服务
mysql -u root -p # 连接MySQL服务器


3.主要文件介绍
   bin目录下
   mysql.exe  自带的客户端
   mysqld.exe  自带的服务端

data:MySQL的数据存储的地方
my-default.ini:这个是MySQL的配置文件
README文件时MySQL的说明文件,类似于是说明书
4.MySQL如何使用
     它是一款C/S架构的软件,那必然就会有服务端和客户端,我们需要先启动服务端,然后启动客户端链接
4.1
  mysql.exe是服务端,应该先启动这个文件,这里不能双击了,需要通过cmd的方式启动
步骤:
      在bin目录下,执行mysqld就是启动服务端的
      在bin目录下,执行mysql就是客户端来链接的,输入mysql即可,初次链接默认是没有密码的
停掉MySQL的服务端:ctrl + c

4.2
    加入环境变量:bin目录所在的路径加入到环境变量中
4.3 MySQL服务的制作
     目的:就是可以把服务端的cmd窗口关闭,只留一个客户端的cmd即可
     如何查看服务
     1.在任务栏里打开任务管理器------>服务
     2.点击此电脑---->管理------>服务
     3.win + r ------>servis.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
 

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用户的权限高,一般功能受限,就是只能查看,不能操作

​
初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
[root@egon ~]# mysqladmin -uroot password "123"        设置初始密码 由于原密码为空,因此-p可以不用
[root@egon ~]# mysqladmin -uroot -p"123" password "456"        
修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码

命令格式:
[root@egon ~]# mysql -h172.31.0.2 -uroot -p456
[root@egon ~]# mysql -uroot -p
[root@egon ~]# mysql                    以root用户登录本机,密码为空

​

忘记密码怎么办

1.关闭服务端
2.‘跳过授权表’的形式启动服务端
    ‘跳过授权表’>>>:意味着以后客户端来连接服务端的时候,只需要用户名,不在验证密码
3.如何跳过授权表
   mysqld --skip-grant-tables
4.跳过授权表成功之后,修改管理员密码
   update mysql.user set password=password('1234') where Host='localhost' and User='root';

#1 关闭mysql
#2 在cmd中执行:mysqld --skip-grant-tables
#3 在cmd中执行:mysql
#4 执行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges;

#5 tskill mysqld #或taskkill -f /PID 7832
#6 重新启动mysql

方法二

#1. 关闭mysql,可以用tskill mysqld将其杀死
#2. 在解压目录下,新建mysql配置文件my.ini
#3. my.ini内容,指定
[mysqld]
skip-grant-tables

#4. 启动mysqld
#5. 在cmd里直接输入mysql登录,然后操作
update mysql.user set authentication_string=password('') where user='root and host='localhost';

flush privileges;

#6. 注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

 基本SQL语句的使用

针对库的增删改查
创建库
crate databases db1;
设置库的默认编码
create databases db1 charset='gbk';
查看库
show databases;
查看指定库
show create database db1;
改库
alter database db2 charset='utf8';
删库
drob database db2;
针对表的增删查改
查看当前所在库的名字
select database();
切换到指定库
use database db1;
创建表
create table t1(id int,name char(4));
查看所有表
show tables;
查看指定的表
show create table t1;
查看当前表的详细信息
desc t1;
修改表
alter table t1 modify name char(16);
删除表
drop table t1;
以绝对路径的形式操作不同的库
create table db2.t1(id int);
针对数据的增删改查
数据的增加
插入单条数据
insert into t1 values(1,'dream');
插入多条数据
insert into t1 values(1,'dream')(2,'chimeng');
数据的查看
查看全部数据
select * from t1;
根据指定字段查看数据
select name from t1;
数据的更改
以限定调价修改指定字段的数据
update t1 set name='wzc'where id > 1;
删除数据
删除指定字段的数据
delete from t1 where id > 1;
删除指定字段的数据
delete from t1 where name='dream';
清空当前表的所有数据
delete from t1;

 

你可能感兴趣的:(mysql)