Mysql基础篇(一)Mysql概述

news2025/1/12 18:49:39

基本概念


数据库(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卸载掉)

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

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

相关文章

HTML5+CSS3小实例:无限循环loading动画

实例:无限循环loading动画 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sc…

大数据分析入门之10分钟掌握GROUP BY语法

前言 书接上回大数据分析入门10分钟快速了解SQL。 本篇将会进一步介绍group by语法。 基本语法 SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name HAVING condition假设我们有students表&#xff0c;其中有id,grade_number,class…

Matlab画箱线图

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

内网安全-代理Socks协议路由不出网后渗透通讯CS-MSF控制上线简单总结

我这里只记录原理&#xff0c;具体操作看文章后半段或者这篇文章内网渗透—代理Socks协议、路由不出网、后渗透通讯、CS-MSF控制上线_内网渗透 代理-CSDN博客 注意这里是解决后渗透通讯问题&#xff0c;之后怎么提权&#xff0c;控制后面再说 背景 只有win7有网&#xff0c;其…

Unity Trail Renderer入门

概述&#xff1a; 在项目的开发过程中&#xff0c;一定有时候需要炫酷的尾迹效果&#xff0c;那接下来这部分的内容&#xff0c;一定不要错过&#xff01; Trail Renderer&#xff08;尾迹渲染&#xff09; Time&#xff1a;尾迹存在的时间&#xff0c;时间越长尾迹存在的越久…

无人机+无人车:自组网协同技术及应用前景详解

无人车&#xff0c;也被称为自动驾驶汽车、电脑驾驶汽车或轮式移动机器人&#xff0c;是一种通过电脑系统实现无人驾驶的智能汽车。这种汽车依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同合作&#xff0c;使得电脑可以在没有任何人类主动操作的情况下&#xff0c;…

总分420+专业140+哈工大哈尔滨工业大学803信号与系统和数字逻辑电路考研电子信息与通信工程,真题,大纲,参考书。

考研复习一路走来&#xff0c;成绩还是令人满意&#xff0c;专业803信号和数电140&#xff0c;总分420&#xff0c;顺利上岸&#xff0c;总结一下自己这一年复习经历&#xff0c;希望大家可以所有参考&#xff0c;这一年复习跌跌拌拌&#xff0c;有时面对压力也会焦虑&#xff…

【算法系列】字符串

目录 leetcode题目 一、最长公共前缀 二、最长回文子串 三、二进制求和 四、字符串相加 五、字符串相乘 六、仅仅反转字母 七、字符串最后一个单词的长度 八、验证回文串 九、反转字符串 十、反转字符串 II 十一、反转字符串中的单词 III leetcode题目 一、最长公…

[Kubernetes] 安装KubeSphere

选择4核8G&#xff08;master&#xff09;、8核16G&#xff08;node1&#xff09;、8核16G&#xff08;node2&#xff09; 三台机器&#xff0c;按量付费进行实验&#xff0c;CentOS7.9安装Docker安装Kubernetes安装KubeSphere前置环境: nfs和监控安装KubeSphere masternode1no…

从零开始学AI绘画,万字Stable Diffusion终极教程(三)

【第3期】Lora模型 欢迎来到SD的终极教程&#xff0c;这是我们的第三节课 这套课程分为六节课&#xff0c;会系统性的介绍sd的全部功能&#xff0c;让你打下坚实牢靠的基础 1.SD入门 2.关键词 3.Lora模型 4.图生图 5.controlnet 6.知识补充 在SD里面&#xff0c;有一个…

基础I/O--文件系统

文章目录 回顾C文件接口初步理解文件理解文件使用和并认识系统调用open概述标记位传参理解返回值 closewriteread总结 文件描述符fd0&1&2理解 回顾C文件接口 C代码&#xff1a; #include<stdio.h> int main() { FILE *fpfopen("log.txt",&…

基于Pytorch深度学习——GPU安装/使用

本文章来源于对李沐动手深度学习代码以及原理的理解&#xff0c;并且由于李沐老师的代码能力很强&#xff0c;以及视频中讲解代码的部分较少&#xff0c;所以这里将代码进行尽量逐行详细解释 并且由于pytorch的语法有些小伙伴可能并不熟悉&#xff0c;所以我们会采用逐行解释小…

用git上传本地文件到github

两种方式&#xff1a;都需要git软件&#xff08;1&#xff09;VScode上传 &#xff08;2&#xff09;直接命令行&#xff0c;后者不需要VScode软件 &#xff08;1&#xff09;vscode 上传非常方便&#xff0c;前提是下载好了vscode和git软件 1 在项目空白处右击&#xff0c;弹…

字符函数与字符串函数(2)

遇见她如春水映莲花 字符函数与字符串函数&#xff08;2&#xff09; 前言一、strcatstrncat 二、strcmpstrncmp在这里插入图片描述 三、strstr四、strtok五、strerror总结 前言 根据上期字符函数与字符串函数我们可以了解到字符函数与个别字符串函数的用法&#xff0c; 那么接…

手写一个uart协议——rs232

先了解一下关于uart和rs232的基础知识 文章目录 一、RS232的回环测试1.1模块整体架构1.2 rx模块设计1.2.1 波形设计1.2.2代码实现与tb1.2.4 仿真 1.3 tx模块设计1.3.1 波形设计1.3.2 代码实现与tb1.3.4 顶层设计1.3.3 仿真 本篇内容&#xff1a; 一、RS232的回环测试 上位机…

改变视觉创造力:图像合成中基于样式的生成架构的影响和创新

原文地址&#xff1a;revolutionizing-visual-creativity-the-impact-and-innovations-of-style-based-generative 2024 年 4 月 30 日 介绍 基于风格的生成架构已经开辟了一个利基市场&#xff0c;它将机器学习的技术严谨性与类人创造力的微妙表现力融为一体。这一发展的核…

4.3 JavaScript变量

4.3.1 变量的声明 JavaScript是一种弱类型的脚本语言&#xff0c;无论是数字、文本还是其他内容&#xff0c;统一使用关键词var加上变量名称进行声明&#xff0c;其中关键词var来源于英文单词variable&#xff08;变量&#xff09;的前三个字母。 可以在声明变量的同时对其指定…

汇川AM400PLC通过EtherCAT总线控制禾川X3E伺服使能和点动控制

进行通信之前需要安装禾川X3E的XML文件&#xff0c;具体方法如下&#xff1a; 1、汇川AM400PLC和X3E通信配置 汇川AM400PLC和禾川X3E伺服EtherCAT通信-CSDN博客文章浏览阅读29次。1、汇川H5UPLC和X3E伺服EtherCAT总线控制汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服_伺服…

转速和频率转换功能块(CODESYS ST源代码)

1、转速/频率常用转换关系 转速/频率/线速度/角速度计算FC_200 plc计算角速度-CSDN博客文章浏览阅读3.2k次。里工业控制张力控制无处不在,也衍生出很多张力控制专用控制器,磁粉制动器等,本篇博客主要讨论PLC的张力控制相关应用和算法,关于绕线机的绕线算法,大家可以参看专…

并行魔法:揭秘scikit-learn中的Bagging并行训练技术

并行魔法&#xff1a;揭秘scikit-learn中的Bagging并行训练技术 随着大数据时代的到来&#xff0c;机器学习模型的训练时间越来越长&#xff0c;尤其是在处理大规模数据集时。如何高效地训练模型成为了一个亟待解决的问题。幸运的是&#xff0c;scikit-learn库为我们提供了一种…