MySQL基础——数据库介绍

MySQL基础——数据库介绍

什么是数据库

我们通常会通过Excel表格来统计例如姓名性别、身高体重等各式各样的数据,这些数据按照一定的规则存储在Excel表格里,这里的Excel就可以看做是一个数据库。在Linux上,我们使用的是MySQL、MongoDB......这样的数据存储方案,它们按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来对数据进行组织和存储,然后通过数据库提供的各种方法来管理其中的数据。

数据库的种类

最常用的数据库主要有两种,即关系型数据库和非关系型数据库。

常用的主流关系型数据库有:Oracle、SQL Server、MySQL/MariaDB等;常用的主流非关系型数据库有:MongoDB、Redis、Memcached等。

关系型数据库

关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个表格上,通过对这些关联的表格分类、合并、选取等来实现数据的管理。数据以行和列的形式来进行存储,行在数据库中称为记录,列头在数据库中称为字段。

特点:

关系型数据库在存储数据时采用的是一张二维表(和word和Excel里的表几乎一样);市场占有量大的是MySQL和Oracle,而互联网场景最常用的是MySQL数据库;关系型数据库通过SQL语言(结构化查询语言)来操作和管理,实现类似于Excel中提供的查找替换、筛选过滤这样的操作;关系型数据库遵循ACID的原理,在保持数据安全性和数据一致性的能力很强大。ACID是一个重要的概念,后面会讲到。

非关系型数据库

非关系型数据库也称为NoSQL数据库,NoSQL的本意是“Not Only SQL”。对于规模日益扩大的数据而言,仅使用关系型数据库来存储数据无法满足各式各样的存储需求,而且通常容易达到数据库的IO瓶颈和性能瓶颈,于是出现了大批针对特定场景,以高性能和使用便利为目的的功能特异化的数据库产品。NoSQL(非关系型数据库)就是这样的情景中诞生并得到了非常迅速的发展。

特点:

NoSQL 数据库不是否定关系型数据库,而是作为关系型数据库的一个重要补充;NoSQL 数据库为了灵活及高性能、高并发而生;NoSQL 数据库领域典型的产品有Redis、MongoDB、Memcached等;NoSQL 数据库没有标准查询语言(SQL),通常使用的是数据库接口或者查询API。

关系型数据库与非关系型数据库的区别

什么是SQL

SQL是结构化查询语言(Structured Query Language),是用于访问关系型数据库的标准化语言,它包含四种类型:

DDL(Data Definition Language)语句:数据定义语言,主要是定义/改变表结构、数据类型、表之间的链接等操作。常用的语句关键字有CREATE DROP ALTER等。

DML(Data Manipulation Language)语句:数据操纵语言,主要是对数据进行增加、删除、修改操作。常用的关键字有INSERT UPDATE DELETE;

DQL(Data Query Language)语句:数据查询语言,主要是对数据进行查询操作。常用的关键字有SELECT、FROM、WHERE等;DCL(Data Control Language)语句:数据控制语言,主要是用来设置/更改数据库用户权限。常用的关键字有GRANT、REVOKE等,不过主要是管理员在用DCL。

关系型数据库

优点:

易于维护,因为都使用了表结构,格式是一样的;使用方便,都使用SQL语言;支持复杂的查询需求,可对多个表进行联合查询。

缺点:

不太灵活,因为表结构是固定的;不能承受高并发,主要是关系型数据库直接通过硬盘读写数据,受限于硬盘的I/O性能。

非关系型数据库

非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档、键值对等。

优点:

格式灵活,存储数据可以是key,value形式,文档形式,图片形式等,应用场景也比较广泛;速度快:NoSQL可以使用硬盘或者是内存作为存储载体,而关系型数据库只能使用硬盘;高扩展性:可以通过集群横向扩展,提升吞吐性能;成本低:NoSQL数据库部署简单,基本都是开源软件。

缺点

不支持SQL语言,而且每种非关系型数据库有自己的命令, 学习成本高;不支持事务处理;数据结构相对来说复杂一些,并且复杂查询上比较弱。

MySQL 数据库

MySQL 数据库是一个中小型的关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件之一。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。RDBMS即关系数据库管理系统(Relational Database Management System)。

MySQL类型

MySQL Community Server

MySQL Community Server是社区版本,开源免费,但不提供官方技术支持。MySQL Community Server也是我们通常用的MySQL的版本。根据不同的操作系统平台细分为多个版本;MySQL的官方网址: http://www.mysql.com/ ;MySQL的社区版本: http://dev.mysql.com/downloads/mysql/ ,在写本文时,当前的MySQL最新版本是:8.0 。 MySQL Enterprise Edition

MySQL Enterprise Edition企业版本,需付费,可以试用30天。 MySQL Cluster

MySQL Cluster集群版,开源免费。可将几个MySQL Server封装成一个Server。MySQL Cluster。

小结

关系型数据库和非关系型数据库,今天已经广泛运用到了各类WEB网站当中,它们互相结合能带给网站意想不到的性能,比如我的博客在使用了Redis数据库之后,比单独使用MySQL的情况下访问速度快了很多。

相关推荐

卡塔尔世界杯:“中国元素”如满天繁星
外勤365系统

卡塔尔世界杯:“中国元素”如满天繁星

📅 07-13 👁️ 3042
墙纸上怎么总是有小虫子 墙虫怎么处理干净
365娱乐平台网址

墙纸上怎么总是有小虫子 墙虫怎么处理干净

📅 07-23 👁️ 5823
汽车之家
外勤365系统

汽车之家

📅 07-03 👁️ 7361