1 数据库基础

目录

  • 数据库演变史

  • 软件开发架构

  • 数据库本质

  • 数据库中的重要概念

  • MySQL下载与安装

  • 基本SQL语句

 

一、数据库演变史

 

# 1.文件操作阶段
    jason|123|read
    '''每个人数据格式都不相同 程序之间无法兼容'''
# 2.软件开发目录规范
    db      数据存储文件
    '''每个人数据格式都不相同 程序之间无法兼容'''
# 3.存储位置和格式
    '''位置和格式确定 保证程序的兼容性'''
 
单机游戏
    # 各自保存各自的数据 彼此不共享
联机游戏
    # 数据存储全部统一在一个地方完成
集群的概念
    # 多台计算机从事相同的工作内容

 

二、软件开发架构

1.c/s架构
    客户端 服务端
2.b/s架构
    浏览器 服务端
本质:bs架构本质也是cs架构

 

三、SQL语句的由来

# 什么是SQL语句?
    就是操作数据库软件的命令
# 为什么要有SQL语句?
    是因为数据库能够支持的语言非常的多 为了避免识别问题 
    发明了SQL语句 规定只要想使用数据库就统一使用SQL语句操作

 

四、数据库的本质数据库本质其实就是一款cs架构的软件

    所以我们所有人其实都可以写一款数据库软件
 
    在市面上确实有很多数据库软件

五、数据库的分类
1.关系型数据库
    # 具有固定的表结构 并且表与表之间可以通过外键建立关系
    MySQL、MariaDB、Oracle(甲骨文公司,高效率,功能强,但是收费,)、PostgreSQL(支持二次开发,自定制)、sqlserver、sqlite、db2 、access
​
2.非关系型数据库
    # 没有固定的表结构 数据存储采用K:V键值对的形式 
    redis(缓存,功能比memcache强)、mongoDB(应用于爬虫,大数据)、memcache(最先出来,但redis好多的功能mencache没有)
"""
我们通常将操作关系型数据库的语句称为:SQL语句
我们通常将操作非关系型数据库的语句称为:NoSQL语句
    有时候甚至使用NoSQL指代非关系型数据库 
​
数据库可以指代的
    1.程序
    2.数据库管理软件
    3.存放数据的某个'文件夹'
"""

 

六、详解数据库(了解)

SQL Server
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。
Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

Oracle
    Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
    
MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

MariaDB
    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。为了继续提供免费的数据库服务,Michael Widenius就基于以往的MySQL数据库开发了一套新的数据库管理软件MariaDB,MariaDB名称来自Michael Widenius的女儿Maria的名字。
    
Mongodb
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

Redis
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

Memcache
Memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。这是一套开放源代码软件,以BSD license授权发布。

 

 

七、MySQL数据# 版本问题

    MySQL5.5
    MySQL5.6  以5.6为教学依据
    MySQL5.7
    MySQL8.0
"""
不管什么版本 SQL语句都是一样的
"""# 下载与安装
    官网 
        点击downloads
            点击GPL
                选择社区版(community)
                    点击archives
             
# windows安装
    1.解压文件夹
    2.介绍:服务端(mysqld.exe)  客户端(mysql.exe)
    3.先先切换到mysqld所在的bin目录下
启动服务端mysqld 之后再使用客户端链接mysql

 

八、基本操作命令

1.登录服务端
    mysql  # 以游客模式登录
    mysql -u用户名 -p密码 -hip -Pport  # 完整的登录命令
    mysql -u用户名 -p密码  # 本机使用该命令即可
第一次以管理员身份登录是没有密码的 直接回车即可
'''MySQL的SQL语句都是以分号作为结束符'''
2.查看当前所有的库名称
    show databases;
3.取消之前的命令
    \c  # 或者直接运行报错
4.退出客户端
    exit;
    quit;

 

九、系统服务制作

# 1.先解决路径切换问题(每次启动mysqld需要先切到对应的文件路径下才能操作太多繁琐)    
将bin目录路径添加到环境变量中 (此电脑右击属性——高级系统设置——环境变量,将D:\Downloads\mysql-5.6.46-winx64\bin加入环境变量) '''注意win7与win10区别'''
现在启动不需要切换路径(直接输入mysql命令)
# 2.将MySQL服务制作成系统服务(开机自启动)(虽然加到了环境变量,但是还是繁琐 需要起两个cmd窗口 不好,加入开机自启mysqld) 1.先以管理员身份打开cmd窗口 2.输入制作命令 mysqld --install 3.启动服务(第一次需要自己启动 后面就是开机自启动) 1.可以鼠标右键点击启动按钮(cdm- services.msc,找到mysql,然后右击启动) 2.输入启动命令 net start mysql
之后只需要开启客服端mysql即可,无需再起服务端mysqld

""" 如何停止服务 net stop mysql 如何移除系统服务 mysqld --remove """

 

 

十、修改管理员密码

# 1.在cmd窗口内直接借助于mysqladmin命令
    # 1.1.终端直接输入修改密码的命令即可(cmd进入,然后直接输入下面的内容)
    mysqladmin -uroot -p password 123  # 该命令输完会提示让你再输一次上一次的密码(此处上次密码为空,直接敲回车即可)
    # 1.2.第一次修改完密码以后,之后还修改密码需要
    mysqladmin -uroot -p123 password 123456
    
# 2.在客户端中修改
    set password=PASSWORD('新密码')

 

十一、忘记密码如何操作

# 1.关闭mysql服务
    net stop mysql  # 管理员身份运行
# 2.以跳过授权表的方式重新启动
    mysqld --skip-grant-tables
# 3.修改指定用户的密码(重置密码)
    update mysql.user set password=password(123) where user="root" and host="localhost";  # 修改对应用户的密码
# 4.退出客户端并且以正常的方式重新启动服务端
    exit;
    net start mysql

 

十二、字符编码

# 1.查看编码信息
    \s
# 2.配置文件
    mysql默认的配置文件  my-default.ini
    拷贝my-default.ini文件并修改为my.ini
# 3.添加配置信息
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
# 4.重新服务端才能生效
   如果在mysql>界面,先exit
    net stop mysql 
    net start mysql
  

 

十三、重要概念

库       文件夹
表       文件
记录      文件内一行行数据

 

 

 

 

 

posted @ 2021-11-08 21:33  甜甜de微笑  阅读(91)  评论(0编辑  收藏  举报