Python学习日志10.20

今日内容

数据库数据的演变史

"""以ATM为例"""
1. 把数据都存在了文件中
    文件名不规范
    kevin|123 kevin@123 kevin*123
    
2. 存储数据的文件越来越多,放在db文件夹
    随着用户的注册量越来越多,文件数也会越来越多,会占用大量的空间,以及查询和存储都不方便,还有速度很慢
    
3. 数据库软件就能够解决以上所有的问题:存储数据的
    # 用起来非常的方便,你会爱上它

数据存储的发展史

1. 单机游戏
    # 本质上是把数据都存在了本地
    
2. 网络游戏
    # 本质上是把数据存在了一个公共的地方,以后不管你身在何处使用数据的时候都是从这个公共的地方取值

数据库的本质

"""本上就是一款基于C/S架构编写的软件"""
既然是cs架构的软件,那就必然会有服务端和客户端,理论上来说,我们自己也能够开发一款数据库软件,只需要开发一个客户端,一个服务端即可。只不过你开发的数据库软件没人用,只能你自己玩。

这个时候就有一些NB的程序员,开发了很多款的数据库软件,当然,你确实在市面上也看到了的确有很多的数据库软件,我们只需要去学会如何使用即可.

数据库的分类

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语句的书写
    
"""我们目前使用5.6,当然我建议最好不要是新版本,尤其是8.0的版本,线上环境最好不要使用新版本"""

数据库软件它是需要下载和安装的,如果你的电脑上已经装过了,如果有这种情况:你之前装过,但是卸载的时候,方法不对,就会出现残留文件,你会发现在此装新的时候,就装不上了,装上了启动不起来.

# 借助于一些杀毒软件,检测出来一些残留文件,把这个检测出来的残留文件给删掉就可以了

2. 下载与安装
    官网下载:https://www.mysql.com/
3. 主要文件介紹
    bin
        mysql.exe   # 自带的客户端 
        mysqld.exe   # 自带的服务端

    data:MySQL的数据存储的地方
    my-default.ini:这个是MySQL的配置文件
    README文件是MySQL的说明文件,类似于是说明书
4. MySQL如何使用
    """它是一款C/S架构的软件,那必然就会有服务端和客户端,我们需要先启动服务端,然后启动客户端链接"""
    4.1
    mysqld.exe是服务端,应该先启动这个文件, 这里不能双击了,需要通过cmd的方式启动
    步骤:
        在bin目录下,执行mysqld就是启动服务端的
        在bin目录下,执行mysql就是客户端来链接的,输入mysql即可,初次链接默认是没有密码的
     # 停掉MySQL的服务端:ctrl + c
 
    4.2
        加入环境变量:bin目录所在的路径加入到环境变量中
    4.3 MySQL服务的制作
        目的:就是可以把服务端的cmd窗口关闭,只留一个客户端的cmd即可
        # 如何查看服务
            1. 在任务栏里打开任务管理器------>服务
            2. 点击此电脑------>管理------->服务
            3. win + R------->services.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用户的权限高,一般功能首先,就是只能查看,不能操作

忘记密码怎么办?

忘记密码就需要修改密码
修改密码的步骤

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

基本的SQL语句的使用

"""补充几个重要的概念"""
库            >>>     文件夹


表            >>>     文件


记录            >>>     文件中得一行行数据


字段            >>>   id  name   age   gender 其实就表的表头

id  name   age   gender
1     ly    20    female
1     ly    20    female
1     ly    20    female
1     ly    20    female

"""顺序是: 库  >>>  表   >>> 记录   >>> 字段"""
一个库中可以有多张表,一个表中可以有很多条记录,也可以有多个字段

"""在MySQL中,SQL语句都是要以分号结尾;"""
1. 针对库的SQL语句
    # 增加
    create database 库名;
    
    # 查看库
    show databases;
    show create database db1;
    
    # 修改库(基本上不用,直接删掉直接创建)
    alter database db1 charset='utf8';
    
    # 删库跑路
    drop database db1; # 不要轻易使用(测试环境随便使用,线上环境一般情况下你是没有权限)
    
2. 针对表的SQL语句
    """如何选择库"""
    use 库名;
    use db1; # 双击db1文件夹了
    
     # 增加表
      create table 表名 (id 数据类型, name 数据类型, gender 数据类型)
      create table t1(id int, name varchar(32), gender varchar(32));
        
     # 修改表
     alter table t1 rename t2; # 修改表名
     # 查看表
        show tables;
        show create table t1; # 查看表结构
        desc t1; # 查看表结构,格式化了
     # 删除表
     drop table t2;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值