MySQL入门

  1. 数据存取演变历程(一统天下)

  2. 数据库软件应用史

  3. 数据库的本质

  4. 数据库的分类(关系型数据库和非关系型数据库)

    1. 关系型数据库和非关系型数据库比较

    2. 关系型数据库和非关系型数据库的一些软件

  5. MySQL简介

    1. MySQL的版本

    2. 如何下载MySQL

  6. MySQL的基本使用

  7. 系统服务制作

  8. 密码的相关操作

    1. 修改密码

    2. 忘记密码

  9. SQL和NoSQL

    1. SQL与NoSQL

  10. 数据库重要概念

    1. 小补充

  11. 针对库的基本SQL语句(增删改查)

  12. 针对表的基本SQL语句(增删改查)

  13. 针对记录的基本SQL语句(增删改查)


数据存取演变历程(一统天下)

  主要是从文件到库的一个发展,统一各类文件的格式等的历程

1.文本文件
    文件路径不一致: C:\a.txt D:\aaa\b.txt E:\ccc.txt
    数据格式不一致: jason|123 tony$123 kevin@123

2.软件开发目录规范
    规定了数据文件的大致存储位置: db文件夹
     针对数据格式还是没有完全统一: 比如统一json文件但是内部键值对不同
        
3.数据库服务
    统一了存取位置 也统一了数据格式(完全统一)

数据库软件应用史

  主要是从本地到联机的信息交互一个过程

1.单机游戏
    不同计算机上的相同程序 数据无法共享
        数据库服务全部在本地完成
2.网络游戏
    不同计算机上的相同程序 数据可以共享
        数据库服务单独在网络架设(远程数据库服务)


远程数据库服务
数据库集群
        1.数据安全性问题
        2.服务器负载问题
让多台服务器运行相同的数据库服务

数据库的本质

  数据库三字在不同角度下描述的意思不一样:

站在底层原理的角度 数据库指的是专用用于操作数据的进程
        eg:运行在内存中的代码
站在现实应用的角度 数据库指的是拥有操作界面的应用程序
        eg:用于操作进程的界面

  我们不做特殊说明的下提数据库其实都是在指数据库软件
    我们也称数据库软件本质是一款cs架构的应用程序
    言外之意所有的程序员理论上都可以编写!!!>>>:市面上已经有很多数据库软件

数据库的分类(关系型数据库和非关系型数据库)

关系型数据库和非关系型数据库比较:

关系型数据库和非关系型数据库的一些软件

  一些关系型数据库的各种软件

MySQL、PostgreSQL、MariaDB、Oracle、sqlite、db2、sql server


        MySQL:开源 使用最为广泛 数据库学习必学
        PostgreSQL:开源 支持二次开发
        MariaDB:开源 与MySQL是同一个作者 用法也极其相似
        Oracle:收费 安全性极高 主要用于银行及各大重要机关
        sqlite:小型数据库 主要用于本地测试(django框架自带该数据库)

    一些非关系型数据库的各种软件

redis、mongoDB、memcache


         redis:目前最火 使用频率最高的缓存型数据库
         mongoDB:稳定型数据库 最像关系型的非关系型 主要用于爬虫、大数据
         memcache:已经被redis淘汰

MySQL简介

  虽然数据库有很多,但是他们底层的操作几乎是一样的,现在我们主要基于MySQL。

1.MySQL的版本

5.6X 前几年使用频率最高的版本
5.7X 最近尝试迁移的版本(频率+)
8.0X 最新版 功能很强大 但是线上环境几乎不用(本地自己用非常好用)

2.如何下载MySQL

下载MySQL的网站:

linux:   https://www.cnblogs.com/Dominic-Ji/p/15124625.html
mac:    https://www.cnblogs.com/Dominic-Ji/articles/15402755.html

步骤:

  1. 访问官网
  2. 点击DOWNLOADS
  3. 点击GPL
  4. 点击community server
  5. 点击archives
  6. 点击download
  7. 解压安装

3.主要文件介绍

bin文件夹

mysqld.exe服务端

mysql.exe客户端

data文件夹 存取数据
my-default.ini 默认配置文件

MySQL的基本使用

1.先启动服务端

2.在查找mysqld文件位置(cmd窗口就是服务端 不要关闭)

3.再次开启新的cmd窗口(mysql)

4.用户名密码登录
    mysql -u用户名 -p密码
        mysql默认管理员账号 用户名是root 密码是空

5.退出

  exit  或者quit

系统服务制作

  目的:

1.如何解决每次都需要切换路径查找文件的缺陷
    添加环境变量
2.将mysql服务端制作成系统服务(随着计算机的开启而启动 关闭而结束)

1.以管理员身份打开cmd窗口
2.执行系统服务命令
        mysqld --install


3.启动服务端
        1.右键直接点击启动
        2.命令启动
            net start mysql

1.查看系统服务的命令
    services.msc
2.关闭mysql服务端
    net stop mysql
3.移除系统服务
    1.先确保服务已经关闭
    2.执行移除命令
        mysqld --remove

密码相关操作

1.修改密码

  mysqladmin命令(直接在cmd中写)

  mysqladmin -u用户名 -p原密码 password 新密码

  第一次修改:mysqladmin -uroot -p password 123

  第二次修改:mysqladmin -uroot -p123 password 321

  ps:偏门方式(有些版本无法使用):  # 需要先登录
            set password=PASSWORD(新密码);

2.忘记密码

直接重装\拷贝对应文件
    先关闭服务端 然后以不需要校验用户身份的方式启动 再修改 最后再安装正常方式启动
    1.net stop mysql
     2.mysqld --skip-grant-tables
     3.mysql -uroot -p
     4.update mysql.user set password=password(123) where Host='localhost' and User='root';
      5.net stop mysql
      6.net start mysql

SQL和NoSQL

  数据库的服务端支持各种语言充当客户端

    eg:以MySQL服务端为例
      MySQL客户端、python代码编写的客户端、java代码编写的客户端
      为了能够兼容所有类型的客户端 有两种策略

1.服务端兼容
            不合理 消耗数据库服务端资源!!!
2.制定统一标准
             SQL语句、NoSQL语句

SQL与NoSQL

  1.SQL语句的意思是操作关系型数据库的语法
       2.NoSQL语句的意思操作非关系型数据库的语法
  ps:SQL有时候也用来表示关系型数据库 NoSQL也用来表示非关系型数据库

数据库重要概念

'''下述概念仅仅是为了小白更快的理解 并不是完全准确'''
库            文件夹

表            文件夹里面的文件

记录            文件里一行行的数据
"""
show databases;  查看所有的数据库
show tables;  查看所有的表
select * from mysql.user;  查看user表里面所有的记录
"""

小补充:

  1.SQL语句结束符是分号     ;
  2.取消SQL语句的执行       \c

针对库的基本SQL语句(增删改查)

1.增
    create database 库名;
2.查
    show databases;
    show create database 库名;
3.改
    alter database 库名 charset='gbk';
4.删
    drop database 库名;

注意:库的名字是不能直接改的,如果要改你先将数据备份,再改

   

针对表的基本SQL语句(增删改查)

"""
查看当前所在的库名
    select database();
        如果没有切换指定的库 那么默认是NULL
    use 库名;
"""
1.增
    create table 表名(字段名 字段类型,字段名 字段类型,字段名 字段类型);
2.查
    show tables;
    show create table 表名;
     describe 表名;  
     desc 表名;
3.改
    alter table 旧表名 rename 新表名;  # 改表名
4.删
    drop table 表名;

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

"""
既然想操作记录 那么肯定的先有库和表
    辛辛苦苦一个月 换来的就是一条SQL语句 修改你的账户余额
"""
1.增
    insert into 表名 values(数据,数据);
    insert into 表名 values(数据,数据),(数据,数据),(数据,数据);
2.查
    select * from 表名;  # *表示查看所有字段
     select 字段1,字段2 from 表名;
    ps:如果表中字段较多出现了错乱 可以结尾写\G
3.改
    update 表名 set 字段名=新数据 where 筛选条件;
4.删
    delete from 表名;  # 删除表中所有的数据
      delete from 表名 where 筛选条件  # 按照条件删除数据

posted @ 2022-08-12 19:49  没错,干就完了!  阅读(101)  评论(0)    收藏  举报