python基础day41

发布时间 2023-07-10 15:47:16作者: 追逐的小白

数据的演变史

以ATM为例

1. 把数据存在文件中

   文件名:user.txt、userinfo.txt

  数据格式:kevin|123、kevin@123等

2. 软件开发目录规范

  db文件夹

    专门用来存储数据文件的,但是当数据文件较多的时候,占用过多的资源,也会产生很多的文件

 

数据的发展史

1. 单机游戏阶段

  数据会单独存放在每一台计算机上,没有实现数据的共享

2. 联网游戏阶段

  实现了数据的共享、把数据单独存放在服务器上(一台计算机专门存放数据)

数据的分类

1. 关系型数据

  MySQL、Oracle、SQL server、DB2、sqllite、access、MariaDB等

  MySQL数据库:开源的

  MariaDB

  以上两个是同一个作者开发的

  Oracle:收费的

2. 非关系型数据库

  Redis(缓存数据库)、memcache(缓存数据库)、mongoDb(爬虫等)

  Redis数据库是目前市面上使用最多的

  Redis数据库把memcache淘汰了,没有用memcache(老项目以前用的,现在没有更换,还在用)

  Redis能做的事情,memcache不能做
  memcache不能做的使用,Redis都能做
  Redis支持的数据类型要不memcache多的多

二者的特点

  1. 关系型数据库顾名思义就是可以建立关系

    拥有固定的表结构,表与表之间可以简历表关系

  2. 非关系型数据不能够建立表关系

    它是以k:v键值对的形式建立的

    没有表的概念

数据库的本质

本质:其实是一款C/S架构的软件

C/S架构的软件必须是有客户端和服务端的,理论上来说,我们自己也能够开发出一款数据库软件,只不过你开发的数据库软件是没有人使用的,除非你自己自嗨。

所以,你会市面上有很多NB的程序员开发出了很多的数据库软件,因此,你也看到了的确存在了很多的数据库

要站在巨人的肩膀上才能走的更高!,很多事情不要想着什么都自己来做

SQL与NoSql的由来

对于关系型数据库,为了兼容各个客户端,所以,每个客户端都要使用MySQL语言,而这个MySQL语言就是我们说的SQL语句----->关系型数据库


非关系型数据库:Nosql语句

MySQL的介绍

版本的介绍

MySQL5.0 (版本不稳定)
MySQL5.5 (用的很少,老项目还再用)
MySQL5.6 (老项目用的比较多,版本很稳定)
MySQL5.7 (新项目在选择数据库的时候,使用的就是这个版本了)
MySQL8.0 (最新版本,现在生产环境用的还不是很多)

ps:在IT领域,生产环境尽量不要使用最新版本,因为,新版本毕竟没有经过大量的测试,不够稳定。

生产环境:你的项目上线之后的环境
测试环境:你在本地自己玩,无所谓了

MySQL的下载与安装

MySQL5.6----->国外的----->进入网站很慢

1. 直接取官网取下载相应的安装包:https://downloads.mysql.com/archives/community/

Threads----->facebook------>24h注册用户500万----->insstram

2. 下载完成之后,如何使用?
  下载之后是一个压缩包,解压完成即可
3. MySQL的主要文件介绍
  bin: 存放mysql的一些启动文件
  mysql.exe : MySQL自带的客户端
  mysqld.exe:MySQL自带的服务端
  data:mysql数据的存储文件夹
  my-default.ini:MySQL的配置文件
  README:MySQL的说明文件

4. MySQL如何启动

  由于MySQL是有客户端和服务端的,因此,我们要启动服务端和客户端来使用

  1. 记住一定是先启动服务端:mysqld.exe
  2. 然后启动客户端去连接服务端

  如何启动:

    1. 先切换路径到bin目录下
      打开cmd----->输入mysqld启动服务端----->在打开一个cmd窗口---->输入  mysql连接服务的
    2. 客户端连接上服务端之后,如何退出客户端:
      exit
    3. 服务端启动之后,如何终止(停掉)服务端
      ctrl + C

ps:

localhost:代表的就是本机
127.0.0.1:代表的也是本机
某些情况下,这两个是有区别

    5. 加入环境变量
    D:\mysql-5.6.45-winx64\bin加入到环境变量中,达到在任何位置都可以找到服务端和客户端程序
    6. 系统服务制作

      1. 先打开cmd窗口

        mysqld --install # Service successfully installed

        第一次安装成功,需要手动启动一次

      2. 如何启动服务
          1. 鼠标点击启动按钮
          2. net start mysql

      3. 如何关闭服务
          1. 鼠标点击启动按钮
          2. net stop mysql
      4. 如何卸载MySQL服务
        mysqld --remove

      ps:以上操作都需要管理员权限

    7. 卸载MySQL
      1. 先卸载服务
      2. 在关闭服务端
      3. 直接删除MySQL的文件夹

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

# 登录MySQL
1. 游客模式登录:mysql
    # 但是,功能很少,权限很低
    
2. 管理员登录:mysql -u root -p # 直接回车就登录成功了
3. 如果你连接的是别人电脑上的数据库,需要指定ip和port
    mysql -h 127.0.0.1 -P 3306 -u root -p 123 
4. 给管理员设置密码
    mysqladmin -u root -p 旧密码 password 新密码

5. 如果密码忘记了怎么办?
    """使用跳过授权表的形式"""
    1. 先把服务端关闭
     2. 使用'跳过授权表'的形式启动服务端
        mysqld  # 不'跳过授权表'
        mysqld --skip-grant-table  # '跳过授权表'
        """跳过授权表的意思是:客户端在连接服务端的时候,不需要验证密码了,直接登录成功"""
    3. 再次使用管理员账号来登录进去,就不需要密码了
        # 进入mysSQL之后,需要修改密码
        update mysql.user set password=password('root') where Host='localhost' and User='root';
        flush privileges; # 刷新权限
         退出客户端
         退出服务端
    4. 改完之后,一定要终止服务端,从新不跳过授权表,启动服务端,再次使用管理员登录即可  

MySQL的配置文件

mysql的默认配置文件:my-default.ini

配置文件有什么用?
# 修改字符编码
在my.ini中输入一下内容
[mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
[client]
    default-character-set=utf8
[mysql]
    default-character-set=utf8
    
    
# 以后只要配置文件发生了改变,一定要重启服务端,配置文件才生效

\s 
输出一些MySQL的基本信息

重要的概念

库           >>>         文件夹

表           >>>         文件夹中的文件

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

先有库,在有表,最后有记录
先创建数据库,在库里面创建数据表,最后在表中插入记录

数据库相关命名

1. 查看所有的数据库
    show databases;
         information_schema  # 默认创建在内存中的数据库
         mysql              # MySQL默认创建的数据库,不要动        
         performance_schema  # 
         test                # 空数据
    show create database 库名; # 查看数据库的基本信息
 2. 如何选择数据库
    use 库名;
    use mysql;
3. 如何增加数据库
    create database db1;
4. 如何删除数据库
    drop database db1;
 5. 修改数据库
    # 一般情况下, 我们只要创建了数据库,就不会去修改,如果要修改,就直接删掉,从新创建
    alter database db1 charset='gbk';