MySQL简介

数据存取演变史

  • 起源······文本文件

    • 在最开始使用计算机都没有相应的规范我们的数据一般都是自己起一个名字然后就根据这个路径存储数据并且存储数据的格式也都五花八门就产生了很多奇奇怪怪的方式
    • 文件路径C:xxx.txt,D:xxx.txt, E:xxx.txt, F:xxx.txt等
    • 数据存储格式:joseph|321, Alice¥520等
  • 发展······软件开发目录规范

    • 我们渐渐的创造出一些默认的软件开发目录规范,让存储数据不再变得那么难以查找,并且一看某些文件夹就知道内部文件大概是什么,但是针对数据的存储格式还是没有完全统一
    • 规定了文件存储大概位置:db文件夹内
    • 数据存储格式:json格式和picket格式等存储格式还是繁多
  • 现阶段·····数据库服务

    • 针对上方的情况我们也搞出了解决方法既然大家存储格式都不太一样那么我就发明一种足够吸引你使用的存储格式和地方,然后大家就一起使用统一的存储格式那么就方便互相之间的交互
    • 统一了存取位置和数据与格式

数据库软件应用史

  • 单机模式

    • 在不同计算机上的相同程序,数据无法共享因为数据库的存储服务全是在本机上完成也就是本地存储,无法分享,满足个人需求
  • 联机交互模式
    • 不同计算机上的相同程序,数据可以共享,数据库并不存储在本地而是存储在网络架构上方的远程数据库上,我们只需要联网就可以去那个地方拿取到我们自己的数据
  • 远程数据库
    • 数据库服务是构建一个数据库集群,但是为了我们的数据的安全性和服务器的负载效率我们一般让数据存储分备份存储在不同地方以防出现数据丢失或者物理丢失的情况,所以就有了一句话,贵州山脉服务器集群,水冷设备降温除虫。远离病虫害。(自己瞎编的)

数据库的本质

  • 数据库的表达角度

    • 站在底层原理的角度来说数据库是指专用于操作数据的进程,就是指运行在内存中的代码
    • 而站在显示应用的角度来说,数据库其实本质上就是一种拥有操作界面的应用程序
  • 数据库的本质
    • 其实数据库本质上来说就是一款应用程序,理论上我们是个程序员都可以自己编写数据库应用程序,他其实也是一款CS架构的应用程序。

数据库的分类

  • 关系型数据库

    • 数据的组织方式有明确的表结构,甚至我们可以将他直接看成是存储在表格中
    id name password
    1 joseph 123
    2 jason 520
    • 表与表之间可以建立数据库层面的关系,只需要获取到用户表中的一条数据那么我们就可以获取到与之相关的其他表的数据
    SQL 形态 介绍
    MySQL 开源 使用最为广泛,数据库学习必学,现在安全程度也变得越来越高
    PsotgreSQL 开源 支持二次开发
    MariaDB 开源 与MySQL是同一个作者,用法也极其相似,名称是以自己女儿名字命名
    Oracle 收费 安全性极高,各大银行和重要机关使用
    sqlite 小型数据库 主要是用于本地测试在django中自带的一个数据库
    db2 开源 转为中型和大型商业机构设计开发
    sql server 开源 使用集成的商业智能(BI)工具提供了企业级的数据管理
  • 非关系型数据库

    • 数据结构没有明确的表的形式去表述,一般是以字典的K:V键值对的形式去组织存储

      {'name':'jsoeph'}{'username':'Alice','password':'520'}

    • 数据之间无法直接建立数据库层面的关系

    SQL 形态 介绍
    redis 目前来说最火的非关系数据库 使用频率最好的缓存型数据库
    mongoDB 稳定型数据库 最像是关系型数据库的非关系数据库,有Java那味了
    memcache GG GG

MySQL简介

  • 前言

    • 虽然说数据库类型也是繁多复杂的但是就底层操作来收几乎都差不多,只要学会一个的话那么学别的就会特别快,MySQl一般来说都是第一个学习使用的数据库
  • 版本
    • 5.6.x 前几年使用频率最高的版本
    • 5.7.x 最近几年在迁移的版本使用频率正在逐步上升
    • 8.0.x 最新版本,功能非常强大,但是线上环境也就是公司中一般不会去使用这个版本,因为公司宁可使用十多年前的版本也要追求稳定性,否则一旦出事很难收拾,我们自己在个人使用的时候开源尝试使用8.0.x
    • 版本之间虽然有所不同但是操作上基本没有什么改变
  • 下载及其安装详情
  • 重要文件介绍
    • bin文件夹

      • mysqld.exe 服务端
      • mysql.exe 客户端
    • data文件夹
      • 存储数据
    • my-default.ini
      • 默认的配置文件

MySQL基本使用

  • 先启动服务器

    • 可能会有两种报错:寻找关键信息到浏览器寻找解决方式,一般为缺失文件,下个补丁应该就可以了
  • 查找MySQL文件位置
    • 打开一个cmd窗口输入 cd+文件路径 进入登录然后保持这个状态不动充当服务端即可
  • 再次打开新的cmd窗口
    • 进入MySQL直接回车就可以进入阉割的游客模式,但是功能很少
  • 用户登录
    • 输入mysql -u用户名 -p密码 ;就可以登录了
    • 一般第一次的话直接输默认的账号密码即可 mysql -uroot 空密码即可登录
  • 退出
    • quit 退出
    • exit 退出

系统服务制作

  • 添加环境变量

    • 找到我们系统的环境变量然后点击path将我们的mysql的bin文件夹的绝对路径添加进去即可
  • 讲MySQL服务端设置成自动启动
    • 以管理员身份进入cmd窗口,执行mysqld --install命令
    • 然后有两种方式一种是使用系统服务命令 services.msc 调出系统设置找到MySQL然后启动
    • 另一种方法是使用命令的方式 net start mysql
  • 关闭服务器和移除系统服务
    • 关闭服务器 net stop mysql
    • 先确保服务已经关闭然后执行移除命令 mysqld --remove

密码相关操作

  • 修改密码

    mysqladmin命令
    通用命令:
    mysqladmin -u用户名 -p原密码 password 新密码
    第一次修改
    mysqladmin -uroot -p(这里为空就好因为默认密码为空,如果安装时你已经设置密码那么直接输你密码即可) password xxx
    低版本修改简便方式: # 但是需要先登录
    set password=PASSWORD(新密码)即可
  • 忘记密码

    • 把系统内存储你密码的那三个文件删除然后让你朋友将他的三个文件发你粘贴到那三个文件的地址上你用他的账号密码登录,然后你再更改

    • 先关闭服务器,然后就不需要校验用户身份及逆行启动,再去修改安装正常方式启动

      1.net stop mysql
      2.mysqld --skip-grant-tabes
      3.mysql -uroot -p
      4.update mysql.user set password=password(xxx) where HOST='localhost' and User='root'
      5.net stop mysql
      6.net start mysql

SQL和NoSQL

  • 兼容性

    • 由于数据库是为了支持各种语言充当客户端,但是各种语言的区别有很大为了解决这个问题我们就像如何做到让所有的语言都可以使用我们的数据库那么就出现了两种方式

      • 一种是服务端也就是数据库进行兼容所有语言,但是那样就会使服务端变得臃肿所以我们就应该使用另一种方式
      • 自己制定一套标准所有的都遵循我的标准来执行那么就可以做到我的服务器又好用,还快,但是就是需要学一下我的简单语句就可以使用SQL语句和NoSQL语句两种
  • 语法区别
    • SQL语句的意思就是操作关系型数据库的语法
    • NoSQL则是操作非关系型数据库
    • 所以有时候SQL也被指为关系型数据库而NoSQL则指为非关系型数据库

数据库的重要概念

数据库 操作 作用 帮助理解
show databases; 查看所有的数据库 文件夹
show tables; 查看所有的表 文件夹中的文件
记录 select * from mysql.user; 查看user表中的所有记录 文件中的数据

数据库补充知识

符号 作用
;(分号) SQL语句中的结束符
\c 取消SQL语句执行

针对库的基本SQL语句

操作 代码 作用
create database 库名; 增加一个新的库
show databases; |show create database 库名; 查询这个库下的数据
alter database 库名 charset='gbk'; 更改这个库下的数据
drop database 库名; 删除这个库
查看所在库名 select database(库名); use 库名; 如果没有的话默认为NULL

针对表的基本SQL语句

操作 代码 作用
create table 表名(字段名 字段类型) 增加表内数据
show tables;|show create table 表名; |descrlbe 表名;|desc 表名; 查看表内的内容
alter table 旧表名 rename 新表名; 改表名
drop table 表名; 删除表

针对记录的基本SQL语句

操作 代码 作用
insert into 表名 values(数据,数据); |insert into 表名 values(数据,数据); 增加表内的数据
select * from 表名; |select 字段1,字段2 from 表名; 查看表内的所有字段
updata 表名 set 字段名=新数据 where 筛选条件; 修改表内的数据
defete from 表名;|defete from 表名 where 筛选条件; 删除表中所有数据和按条件删除数据

数据库简介与MySQL简介的更多相关文章

  1. mysql由浅入深探究(一)----数据库简介与mysql安装

    mysql简介: 首先谈到mysql,我们要知道这是一个开源的数据库,与开源对应的就是free,但这并不意味着其性能会比很差,mysql同样能支持千万级以上的大数据量,甚至更多.同时mysql还支持许 ...

  2. 01--数据库MySQL:【数据库DB】和【数据库管理系统DBMS】 简介

    1.数据库DB 数据库:DB(DataBase) 按照一定规则存储在计算机的内部存储设备上被各种用户或者应用共享的数据集合 2.数据库管理系统DBMS 1)数据库管理系统DBMS:DBMS(DataB ...

  3. MySQL数据库笔记一:简介及简单操作

    一.初识MySQL数据库 1.数据库的概述 <1>数据库:Database 长期存储在计算机内的,有组织的,可共享的数据集合. 存储数据的仓库.(文件) <2>数据库管理系统: ...

  4. 第一章 Mysql 简介及安装和配置

    Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. ...

  5. mysql基础篇-----mysql简介

    2017-04-19 一.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 ...

  6. MySQL(一)之MySQL简介与安装

    大家可能都在用MySQL,其实我也是在用MySQL的,但是你知道吗?大部分人都是在windows中使用,这里将介绍一下在windows中的安装分为安装包安装与MSI包安装,以及在linux中的在线安装 ...

  7. PHP MySQL 简介

    PHP MySQL 简介 通过 PHP,您可以连接和操作数据库. MySQL 是跟 PHP 配套使用的最流行的开源数据库系统. 如果想学习更多 MySQL 知识可以查看本站MySQL 教程. MySQ ...

  8. MySQL简介及安装

    一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展 ...

  9. mysql -> 简介&体系结构_01

    数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式储存在一起.能予多个用户共享.具有尽可能小的 ...

随机推荐

  1. Docker的网络

    概述 docker使用Linux桥接网卡,在宿主机虚拟一个docker容器网桥(docker0),docker启动一个容器时会根 据docker网桥的网段分配给容器一个IP地址,称为Container ...

  2. DYOJ 【20220303模拟赛】最少分组 题解

    最少分组 题意 \(n\) 个点 \(m\) 条边的无向图,可以删掉 0 条或多条边,求满足条件的最小连通块数量: 对每个顶点对 \((a,b)\) ,若 \(a\) 和 \(b\) 同属于一个连通块 ...

  3. 【NOIP2017 提高组正式赛】列队 题解

    题目大意 有一个 \(n\times m\) 的方阵,每次有 \((x,y)\) 离开,离开后有两个命令 向左看齐.这时第一列保持不动,所有学生向左填补空缺.这条指令之后,空位在第 \(x\) 行第 ...

  4. 线程安全性-原子性之synchronized锁

    原子性提供了互斥访问:同一时刻只能有一个线程进行操作: 除了Atomic包类之外,还有锁可以实现此功能: synchronized:  java关键字,依赖于jvm实现锁功能,被此关键字所修饰的,都是 ...

  5. LVGL库入门教程01-移植到STM32(触摸屏)

    LVGL库移植STM32 LVGL库简介 LVGL(Light and Versatile Graphics Library)是一个免费.开源的嵌入式图形库,可以创建丰富.美观的界面,具有许多可以自定 ...

  6. 20.LVS负载均衡群集—NAT模式实例

    LVS负载均衡群集-NAT模式实例 目录 LVS负载均衡群集-NAT模式实例 群集引用概述 群集的含义 问题 解决方法 企业群集分类 群集的三种类型 负载均衡群集(Load Balance Clust ...

  7. 揭秘GaussDB(for Redis):全面对比Codis

    摘要:Codis集群在国内Redis生态圈很流行,社区已停止维护.本文从架构和特性两方面对比,带你感受华为云GaussDB(for Redis)的全新价值. 本文分享自华为云社区<华为云Gaus ...

  8. 游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)

    问题描述 我们国内的华为联运游戏集成华为游戏服务SDK 之后,被审核驳回:在未安装或需要更新华为移动服务(HMS Core)的手机上,提示安装华为移动服务,点击取消,未再次提示安装HMS Core. ...

  9. k8s之有状态服务部署基石(基础知识)

    PV&PVC&HeadlessService 4.1.什么是无状态/有状态服务? 无状态服务: 1.没有实时的数据需要存储 (即使有,也是静态数据) 2.服务集群网络中,拿掉一个服务后 ...

  10. 异构图神经网络笔记-Heterogeneous Graph Neural Network(KDD19)

    自己讲论文做的异构图神经网络的ppt.再转变成博客有点麻烦,所以做成图片笔记. 论文链接:https://arxiv.org/abs/1903.07293