数据库mysql

数据的演变史

复制代码
'''以ATM为例'''
1. 把数据存在了文件中
    文件名:user.txt、userinfo.txt
    数据格式:kevin|123、kevin@123、kevin!123
    
2. 软件开发目录规范
    db文件夹
        # 专门用来存储数据文件,但是,当数据文件较多的时候,占用过多的资源,也会产生很多的文件
        
3. 数据库阶段
    # 解决了以上所有的问题
    """采用统一的存储格式"""
复制代码

数据的发展史

1. 单级游戏阶段
    # 数据会单独存放在每一台计算机上,不是实现数据的共享

2. 联网游戏阶段
    # 实现了数据的共享、把数据单独存放在服务器上面(一台计算机)

数据的分类

复制代码
1、关系型数据
    MySQL、Oracle、SQLserver、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 (最新版本,现在生产环境用的还不是很多)

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

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

# 尽量使用5.6之后的版本,
如果你之前已经装过其他版本了,也无所谓,反正是测试阶段,用哪个版本都行,但是,最后跟我的版本一致

你卸载的时候,使用了不正确的卸载方式,卸载了MySQL,那么,有可能在你的电脑上留下很多的残留文件,你再次去安装的时候,有可能装不上,

你可以下载一个杀毒软件,可以检测你电脑上的残留垃圾文件,把检测出来的垃圾文件删除即可
复制代码

 

MySQL的下载与安装

复制代码
1 下载
官网下载链接:https://downloads.mysql.com/archives/community/
·········································
2 下载完,如何使用?
    下载出来是压缩包,直接解压使用
·········································
3 MySQL的主要文件介绍
    bin:存放mysql的一些启动文件
        mysql.exe:MySQL自带的客户端
        mysqld.exe:MySQL自带的服务端
    data:mysql数据的存储文件夹
    my-default.ini:MySQL的配置文件
    README:MySQL的说明文件
·········································
4 MySQL如何启动
    '由于MySQL是有客户端和服务端的,因此,我们要启动服务端和客户端来使用'
    # 一定要先启动服务端:mysql.exe
    # 然后再启动客户端去连接服务端
    

'启动服务器':mysqld  '启动客户端' mysql ---exit
 '关闭服务器' :cltr + c  '关闭客户端':exit
    如何启动:
        1 先切换路径到bin目录下
            打开cmd-->输入mysql启动服务端-->再打开一个cmd窗口-->输入mysql连接服务器
        2 客户端连接上服务端之后,如何退出客户端
            exit
         3 服务端启动之后,如何终止(停掉)服务端
            cltr + c
'localhost : 代表的是本机'
'127.0.0.1 :代表的也是本机' 
'某些情况下,这两个是有区别的'
·········································
5 加入环境变量
    x:xxxx\xxxxx\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
'以上操作都需要管理员权限'
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 再次使用管理员账号来登录进去,就不需要密码了。
        # 进入mySQL,需要修改密码
        update mysql.user set password=password('root') where Host='localhost' and User='root';
        flush privileges # s刷新权限
        退出客户端
        退出服务端
     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 先启动系统服务 
net start mysql 
2 进入mysql客户端。
注意:要使用管理员登录,游客登录权限少
3 \s
4 重启服务端,然后再输出配置文件就会把配置文件更改掉。
复制代码

重要的概念

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

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

数据库相关命名

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

# 总结 
'常用命令'
show databases; # 查看所有的库
show create database 库名; # 查看数据库的基本信息
use 库名; 例子--> use myslq; # 选择库
create database 库名;# 增加库
drop database db1;# 删除库
alter database 库名 charset='gbk';#修改库
复制代码

 

posted @   路过不说话  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示