Mysql基础篇(一)Mysql概述

目录

基本概念

数据库(DataBase,DB)

数据库的定义

数据库的分类

数据库管理系统(DataBase Management System,DBMS)

SQL(Structured Query Language)

Mysql

Mysql数据模型

下载安装Mysql


基本概念


数据库(DataBase,DB)

数据库的定义

按照数据结构来组织、存储和管理数据的仓库。

        严格意义上来说,数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。

        而我们日常常说的数据库一般代表我们所使用的数据库软件,如mysql、sql server等;这其实是不正确的,它混淆了数据库和数据库管理系统的概念。正确的理解应该是:我们日常所使用的数据库软件应该称为数据库管理系统,我们通过数据库管理系统,来操作和管理数据库。

数据库的分类

        通常来说,数据库可以按照其存储数据的关联关系分为关系型数据库非关系型数据库两种:

  • 关系型数据库(SQL):存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。 常见的关系型数据库管理系统有Oracle,Mysql,SqlServer等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。
  • 非关系型数据库(NoSQL):出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的,设计出的分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。 常见的非关系型数据库管理系统有Redis,MysqlMembaseMysql,SqlServerMongoDB等。传统的关系型数据库采用表格的储存方式, 数据以行和列的方式进行存储,要读取和查询都十分方便。而非关系型数据不适合这样的表格存储方式,通常以数据集的方式,大量的数据集中存储在一起,类似于键值对、图结构或者文档。

 区别:

        NoSQL数据库适合追求速度和可扩展性、业务多变的应用场景。对于非结构化数据的处理更合适,如文章、评论,这些数据如全文搜索、机器学习通常只用于模糊处理,并不需要像结构化数据一样,进行精确查询,而且这类数据的数据规模往往是海量的,数据规模的增长往往也是不可能预期的,而NoSQL数据库的扩展能力几乎也是无限的,所以NoSQL数据库可以很好的满足这一类数据的存储。NoSQL数据库利用key-value可以大量的获取大量的非结构化数据,并且数据的获取效率很高,但用它查询结构化数据效果就比较差。

        关系型数据库对于结构化数据的处理更合适,如学生成绩、地址等,这样的数据一般情况下需要使用结构化的查询,例如join,这样的情况下,关系型数据库就会比NoSQL数据库性能更优,而且精确度更高。由于结构化数据的规模不算太大,数据规模的增长通常也是可预期的,所以针对结构化数据使用关系型数据库更好。关系型数据库十分注意数据操作的事务性、一致性,如果对这方面的要求关系型数据库无疑可以很好的满足。

数据库管理系统(DataBase Management System,DBMS)

所谓的数据库管理系统,其实就是用来操作和管理数据库的大型软件,上一小节其实已经提到了一些常用的数据库管理系统,下图是几种常用的关系型数据库操作系统:

SQL(Structured Query Language)

        尽管关系型数据库管理系统的种类繁多,但是操作关系型数据库都有一个统一的标准,那就是SQL语言,它是专门为了操作关系型数据库而设计的一种数据库编程语言,定义了一套操作关系型数据库的统一标准。上面介绍的所有的关系型数据库管理系统,都可以通过SQL语言来进行数据库的操作和管理。因此学习关系型数据库的关键,就是学会SQL语言。 

SQL语句主要分为以下几种:

  • 数据查询语言(DQL)。包括SELECT语句,用于从数据库中查询数据。
  • 数据操作语言(DML)。包括INSERT、DELETE、UPDATE语句,用于对表中的数据进行增删改操作。
  • 数据定义语言(DDL)。包括CREATE、DROP、ALTER语句,用于创建、修改或删除数据库对象,如表、索引、视图等。
  • 事务控制语言(TCL)。包括COMMIT、ROLLBACK语句,用于控制事务的提交和回滚。
  • 数据控制语言(DCL)。包括GRANT、REVOKE语句,用于控制用户对数据库对象的访问权限。

这些语言这里只做了简单概述,后续会专门写文章进行介绍。

Mysql

        在前文我们已经提到了,是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。

        MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL作为网站数据库。

Mysql数据模型

        Mysql的数据模型如上图所示(其实大部分关系型数据库的数据模型都长这样)。客户端通过数据库管理系统管理数据库,一个数据库管理系统可以管理多个数据库,一个数据库由一个或者多个表组成,一个表又包含一个或多个行和列。

  • 数据库(DataBase):保存有组织的数据的容器(通常是一个文件或者一组文件)
  • 表(table):某种特定类型的结构化清单,如果把数据库比作我们的一个excel文件,那么表就是xlsx文件中的一个sheet。
  • 列(column):表中的一个字段,所有的表都是由一个或者多个字段组成。就类似于sheet中的列。在关系型数据库中,定义列的时候需要指定列的数据类型,用来限制该列中存储的数据。
  • 行(row):表中的一条记录,也就是真正存储的数据。在mysql必知必会中有这样一句话:“您可能听到用户在提到行(row)时称其为数据库记录(record)。在很大程度上,这两个术语是可以相互替代的,但是从技术上讲,行才是正确的术语。”

下载安装Mysql

        由于Orecle需要收费,所以学习时我们选择了Mysql社区版作为我们的数据库管理系统,Mysql的下载地址如下:下载地址。

安装教程看这里:

MySQL安装和启停icon-default.png?t=N7T8https://blog.csdn.net/x1027105273/article/details/138461442

        (注意:如果要安装最新版的,记得把以前版本的Mysql卸载掉)

卸载教程看这里:

MySQL卸载icon-default.png?t=N7T8https://blog.csdn.net/x1027105273/article/details/138419779

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条

今天遇到一个问题 系统线上问题,经常出现这样的问题,刚重启系统时不报错了,可是运行一段时间又会出现。sql已经写了limit 1,mybatis的debug日志也返回total为1,可是却报错返回了1805条数据 乍一看,感觉太不…

汽车之家,如何在“以旧换新”浪潮中大展拳脚?

北京车展刚刚落幕,两重利好正主导汽车市场持续升温:新能源渗透率首破50%,以及以旧换新详细政策进入落地期。 图源:中国政府网 在政策的有力指引下,汽车产业链的各个环节正经历着一场深刻的“连锁反应”。在以旧换新的…

Python运维之多线程!!

一、多线程 二、多线程编程之threading模块 2.1、使用threading进行多线程操作有两种方法: 三、多线程同步之Lock(互斥锁) 四、多线程同步之Semaphore(信号量) 五、多线程同步之Condition 六、多线程同步之Event…

CSS和JavaScript

CSS 在html中引入CSS 我们需要先在该项目先建立css文件 html引入CSS,在<head></head>中添加<link>标签 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" co…

mac 本地使用docker 运行es,kibana

1.下载 m芯片一些版本不支持.踩过坑.翻看官网才知道只有部分镜像支持m芯片 https://hub.docker.com/添加链接描述 docker pull elasticsearch:7.17.21 docker pull kibana:7.17.21镜像已经下载下来了 2.创建文件映射-挂载 /Users/lin/dev/dockerMsg 其中lin是自己的用户名…

关于线程池,它的扩展问题你知道吗?(自己总结)

专门想一下为什么线程池不用Excutors&#xff0c;之前的印象是错的&#xff0c;居然还拿来面试里讲&#xff0c;惭愧&#xff0c;这里暂时整理俩小问题&#xff0c;其他的后续可能会更新。。 线程池是创建的越大越好嘛 #线程池创建的越大越好吗 Tip&#xff1a;2024-04-10 更…

本地搭建hydra服务用go以验证oidc流程

目录 1、docker搭建hydra&#xff0c;环境配置&#xff1a; 2、搭建完成后服务调用&#xff1a; 2.1保证服务正常启动&#xff1a; 2.2 通过postman调用&#xff0c;获取client_id&#xff1a; 2.3 通过client_id&#xff0c;实现oauth2/auth调用 3. 通过go语言实现oidc验…

【qt】容器的用法

容器目录 一.QVertor1.应用场景2.增加数据3.删除数据4.修改数据5.查询数据6.是否包含7.数据个数8.交换数据9.移动数据10.嵌套使用 二.QList1.应用场景2.QStringList 三.QLinkedList1.应用场景2.特殊点3.用迭代器来变量 四.QStack1.应用场景2.基本用法 五.QQueue1.应用场景2.基本…

OS复习笔记ch5-3

引言 上一节我们学习了关于信号量机制的一些内容&#xff0c;包括信号量的含义&#xff0c;对应的PV操作等。 如图所示&#xff0c;上一节主要是针对信号量的互斥&#xff0c;其实信号量机制还可以做很多事情&#xff0c;比如实现进程同步和前驱关系&#xff0c;这一节我们先复…

【Spring】JdbcTemplate

JdbcTemplate 是 Spring 提供的一个 JDBC 模板类&#xff0c;是对 JDBC 的封装&#xff0c;简化 JDBC 代码 也可以让 Spring 集成其它的 ORM 框架&#xff0c;例如&#xff1a;MyBatis、Hibernate 等 使用 JdbcTemplate 完成增删改查 一、环境准备 数据库&#xff1a; 准备…

Marin说PCB之如何快速打印输出整板的丝印位号图?

当小编我辛辛苦苦加班加点的把手上的板子做到投板评审状态的时候&#xff0c;坐在我旁边的日本同事龟田小郎君说让我把板子上的丝印也要调一下&#xff0c;我当时就急了&#xff0c;这么大的板子&#xff0c;将近1W多PIN 了都&#xff0c;光调丝印都要老半天啊&#xff0c;而且…

Docx文件误删除如何恢复?别再花冤枉钱了,4个高效恢复软件!

不管是工作还是学习&#xff0c;总是会与各种各样的文件打交道。文件量越多就越容易出现文件丢失、文件误删的情况。遇到这些情况&#xff0c;失去的文件还能找回来吗&#xff1f;只要掌握了一些数据恢复方法&#xff0c;是很有机会恢复回来的&#xff0c;下面我会将这些方法分…

[机器学习系列]深入探索回归决策树:从参数选择到模型可视化

目录 一、回归决策树的参数 二、准备数据 三、构建回归决策树 (一)拟合模型 (二)预测数据 (三)查看特征重要性 (四)查看模型拟合效果 (五) 可视化回归决策树真实值和预测值 (六)可视化决策树并保存 部分结果如下&#xff1a; 一、回归决策树的参数 DecisionTreeRegress…

NVIDIA_SMI has failed because it couldn’t communicate with the NVIDIA driver

参考&#xff1a;https://www.zhihu.com/question/474222642/answer/3127013936 https://blog.csdn.net/ZhouDevin/article/details/128265656 nvidia-smi查看报错&#xff0c;nvcc正常 1&#xff09;查看nvidia版本 ls /usr/src | grep nvidia nvidia-550.78 2&#xff09;…

暗区突围国际服pc端怎么获取测试资格 twitch掉落资格获取教程

《暗区突围》是由腾讯魔方工作室群开发的第一人称射击类手游。游戏以从暗区撤离并收集物资满载而归作为最终目的&#xff0c;带出的战利品可以存储在仓库中&#xff0c;又可以出售用以换取游戏金钱。游戏中玩家可以创建男性或女性角色&#xff0c;可以通过选择脸型、发型、发色…

C++ 动态内存管理

例如&#xff1a;动态内存和释放单个数据的存储区 一 用new运算符初始化单个数据的存储区 举例

【智能算法】人工原生动物优化算法(APO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.获取代码 1.背景 2024年&#xff0c;X Wang受到自然界原生动物启发&#xff0c;提出了人工原生动物优化算法&#xff08; Artificial Protozoa Optimizer, APO&#xff09;。 2.算法原理 2.1算法思想 AP…

压缩归档库-Snappy介绍

1.简介 Snappy 是一个 C 编写的压缩和解压缩库&#xff0c;由 Google 开发。它专为速度而设计&#xff0c;而不是最大压缩率或与其他压缩库的兼容性。 Snappy 通常用于需要快速压缩和解压缩的场景。 Snappy具有以下属性&#xff1a; 快速&#xff1a;压缩速度达到250 MB/秒及…

数智化快速开发平台

助力企业IT规划标准化&#xff0c;实现企业IT生态化 目前市场上有很多面向企业各种业务场景的产品&#xff0c;这些产品给企业管理带来便利性的同时&#xff0c;也带来了一系列问题&#xff0c;例如&#xff1a; 不同系统的后台管理功能基本一致&#xff0c;却需要重复建设&a…

linux调试

文章目录 1. 使用打印来调试1.1 重定向1.2 标准预定义宏1.3 日志代码 2. 内核异常2.1 内核打印2.1.1 打印级别2.1.2 跟踪异常2.1.3 动态打印2.1.4 RAM console 2.2 OOPS2.2.1 有源代码的情况2.2.2 没有源代码的情况 3 查看日志4 工具调试 1. 使用打印来调试 1.1 重定向 2>…