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. 看看CabloyJS是如何实现编辑页面脏标记的

    应用场景 我们在使用Word.Excel时,当修改了内容之后在标题栏会显示脏标记,从而可以明确的告知用户内容有变动.此外,如果在没有保存的情况下关闭窗口,系统会弹出提示框,让用户选择是否放弃修改 那么 ...

  2. ExtJS 同行表单域对齐有误处理办法

    更新记录 2022年5月29日 第一次编辑.使用的ExtJS版本:ExtJS 7.4 问题 原本都是显示正常的表单域,比如这些文本框.选择框都是正常. 在用户进行操作,然后显示验证提示后,明显出现了问 ...

  3. C# 将XML转为PDF

    XML,即可扩展标记语言文,件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性.通过将 XML 文档转换为 PDF格式,能够满足更多程序.设备对文件预览.读取或展示的需要,也更便于文 ...

  4. 二:动手实操SpringBoot-使用Spring Initializr创建项目

    使用 Spring Initializr 初始化 Spring Boot 项目 Spring Initializr 从本质上说就是一个Web应用程序,它能为你构建Spring Boot项目结构. 虽然 ...

  5. kubernetes集群简单实例搭建

    systemctl stop firewalld && systemctl disable firewalldvim /etc/selinux/configSELINUX=disabl ...

  6. 一文搞懂 Netty 发送数据全流程 | 你想知道的细节全在这里

    欢迎关注公众号:bin的技术小屋,如果大家在看文章的时候发现图片加载不了,可以到公众号查看原文 本系列Netty源码解析文章基于 4.1.56.Final版本 在<Netty如何高效接收网络数据 ...

  7. 前 K 个高频元素问题

    前 K 个高频元素问题 作者:Grey 原文地址: 前 K 个高频元素问题 题目描述 LeetCode 347. Top K Frequent Elements 思路 第一步,针对数组元素封装一个数据 ...

  8. 【一知半解】AQS

    什么是AbstractQueuedSynchronizer(AQS) 字面意思是抽象队列同步器,使用一个voliate修饰的int类型的同步状态,通过一个FIFO队列完成资源获取的排队工作,把每个参与 ...

  9. 函数式接口的概念&函数式接口的定义和函数式接口的使用

    函数式接口概念 函数式接口在Java中是指:有且仅有一个抽象方法的接口. 函数式接口,即适用于函数式编程场景的接口.而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambd ...

  10. Hadoop集群搭建(完全分布式版本) VMWARE虚拟机

    Hadoop集群搭建(完全分布式版本) VMWARE虚拟机 一.准备工作 三台虚拟机:master.node1.node2 时间同步 ntpdate ntp.aliyun.com 调整时区 cp /u ...