MySQL学习(1)—MySQL概述

什么是数据库

概述

数据库(Database)是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统DBMS(Database Management System)在数据库建立、使用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。

分类

数据库分为关系型数据库和非关系型数据库。

  • 关系型数据库(RDBMS:Relational Database Management System):这种类型的数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。它以行(row)和列(column)的形式存储数据,以便于用户理解,存储的格式可以直观地反映实体间的关系。而SQL就是关系型数据库的查询语言。常见的关系型数据库有MySQL、SQL Server、DB2、Oracle)等。
  • 非关系型数据库(非RDBMS/NoSQL:Not Only SQL):指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。它基于键值对存储数据,不需要经过SQL层的解析,性能非常高。NoSQL数据库如MongoDB、Redis、Memcache、HBase出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。

SQL

结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL语言主要分为:

  • DQL(Data Query Language):数据查询语言,用于从表中取得数据。例如:select
  • DML(Data Manipulation Language):数据操作语言,用于对数据进行增加、修改、删除。例如:insert、udpate、delete
  • DDL(Data Definition Language):数据定义语言,用于在数据库中创建新表或修改、删除表,为表加入索引等。例如create、alter、drop
  • TPL:事务处理语言,对事务进行处理。例如:begin transaction、commit、savepoint、rollback
  • DCL:数据控制语言,实现权限控制。例如:grant、revoke
  • CCL:指针控制语言,用于对一个或多个表单独行的操作。例如:declare cursor(申明游标)、fetch info(进入)、update where current(更新当前位置)

数据库常用对象

  • 表(Table):表是数据库存储的逻辑单元,以行和列的形式存在;列是字段,行就是一条数据记录。
  • 视图(View):一个或多个数据表里的数据的逻辑显示,视图就是一张虚拟的表,并不真正存储数据。
  • 图表/数据库关系图(Database Diagram):护具库关系图,也称图表,利用图表可以编辑表与表之间的关系以及表的行列属性。
  • 默认值(Default):默认值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。
  • 规则(Rule):规则是对数据库表中数据信息的限制,其限定的是表的列。
  • 约束(Constraint):执行数据检验规则,用于保证数据完整性的规则。
  • 索引(Index):用于提高查询性能,相当于书的目录。
  • 函数(Function):用于完成一个特定的计算,具有返回值和参数。
  • 存储过程(Stored Procedure):完成某项完整的业务处理,没有返回值,但可通过传出参数将多个值传个调用环境。
  • 触发器(Trigger):相当于一个事件的监听器,当数据库发生特定的事件后,触发器被触发,完成响应处理。
  • 用户(User):用户是有权限访问数据库的使用者,同时需要自己输入登录账号和密码。一般来说,数据库用户分为管理员用户和普通用户,前者可对数据库进行各种操作,后者只能进行阅读、查看等操作。

什么是MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般网站软件的开发都选择 MySQL 作为网站数据库。

MySQL基本架构

MySQL的逻辑架构图如下:

MySQL学习(1)---MySQL概述

MySQL的优势

  • 使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
  • MySQL是可以定制的,采用了GPL(GNU General Public License)协议,你可以修改源码来开发自己的MySQL系统。
  • MySQL是一种关联数据库管理系统,它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并调高了灵活性。
  • MySQL使用标准的SQL数据语言形式。
  • MySQL可以允许运行在多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP和Ruby等

Original: https://www.cnblogs.com/vgshots/p/16615708.html
Author: vgshots
Title: MySQL学习(1)—MySQL概述

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611963/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 在OAuth 2.0模式下使用Spring Cloud Gateway

    Spring Cloud Gateway主要用于以下角色之一: OAuth Client *OAuth Resource Server 1 Spring Cloud Gateway…

    数据库 2023年6月14日
    095
  • LeetCode 26. 删除有序数组中的重复项

    给你一个 升序排列 的数组nums,请你 原地 删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。 由于在某些语言中不能改变数组的长度,…

    数据库 2023年6月11日
    074
  • 记一次MySql唯一索引在left join连表查询没走索引的问题

    在新建一张账单结算信息表bill_settlement_info的时候,建立的唯一索引uk_bill_no(bill_no,tenant_id)。由于列表查询用到该表的字段。所以在…

    数据库 2023年5月24日
    0111
  • 排查线上问题的9种方式

    德国科技管理专家斯坦门茨早年移居美国,他以非凡的才能成为美国企业界的佼佼者。一次,美国著名的福特公司的一组电机发生故障,在束手无策之时,公司请斯坦门茨出马解决问题。 斯坦门茨在电机…

    数据库 2023年6月6日
    077
  • Java学习-第一部分-第二阶段-第五节:集合

    集合 笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 前面我们保存多个数据使用的是数组,那么数组有不足的地方,我…

    数据库 2023年6月11日
    085
  • 红黑树添加删除

    上一篇写了234树对比红黑树,和红黑树某些情况需要调整的原因,这篇就只写红黑树的添加和删除 红黑树 JAVA技术交流群:737698533 性质 每个节点要么红色要么黑色 根节点是…

    数据库 2023年6月16日
    048
  • navicat~导出数据库密码

    当我们mysql密码忘记了,而在navicat里有记录,我们应该如何导出这个密码呢? 第一步:文件菜单,导出链接,导出连接获取到 connections.ncx 文件 这里需要勾选…

    数据库 2023年5月24日
    0172
  • 当我用Python做了个自动工作汇报的脚本后,每天都闲的只能摸鱼

    哈喽兄弟们 之前经常编写Python脚本来进行数据处理、数据传输和模型训练。随着数据量和数据复杂性的增加,运行脚本可能需要一些时间。在等待数据处理完成时可以同时做一些其他工作。 为…

    数据库 2023年6月14日
    063
  • MIT 6.824 Llab2B Raft之日志复制

    书接上文Raft Part A | MIT 6.824 Lab2A Leader Election。 实验准备 实验代码: git://g.csail.mit.edu/6.824-…

    数据库 2023年6月14日
    057
  • django中的JsonRseponse对象

    json格式的数据 在进行前后端数据交互的时候,我们需要使用json格式的数据作为过渡,实现跨语言传输数据! django中的JsonResponse对象 在django中Json…

    数据库 2023年6月14日
    076
  • Nginx基础入门篇(3)—返回状态码详解

    一般常见返回状态码 200 – 服务器成功返&a…

    数据库 2023年6月14日
    0171
  • 精心总结十三条建议,帮你创建更合适的MySQL索引

    上篇文章讲到使用MySQL的Explain命令可以分析SQL性能瓶颈,优化SQL查询,以及查看是否用到了索引。 我们都知道创建索引可以提高查询效率,但是究竟如何创建索引呢? [En…

    数据库 2023年5月24日
    088
  • 多态:向上转型和向下转型

    1)本质:父类的引用指向了子类的对象 2)语法:父类类型 引用名 = new 子类类型(); 3)特点:编译类型看左边,运行类型看右边。 可以调用父类中的所有成员(需遵守访问权限)…

    数据库 2023年6月11日
    079
  • Javaweb-Http、Maven及Servlet详解

    一、Http 1.什么事Http Http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上 文本:html,字符串,~.. 超文本:图片,音乐,视屏,定位,地图…

    数据库 2023年6月16日
    083
  • 2022-08-20 数据库连接池

    每次去初始化一个连接池,连接池中会有很多个连接等待被使用,使用完连接之后,不需要关闭连接,只需要把连接还回到连接池,还回到连接池的操作不需要我们手动控制。 数据库连接池负责分配、管…

    数据库 2023年6月14日
    079
  • OpenSSL的升级

    参考链接,复制过来的知乎一个博主的,可能知乎对链接做了些限制,导致不好复制,这里也正好再复习一遍:https://zhuanlan.zhihu.com/p/133999805?fr…

    数据库 2023年6月14日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球