MySQL基础为什么大部分人选择使用MySQL数据库?

Posted 路遥叶子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础为什么大部分人选择使用MySQL数据库?相关的知识,希望对你有一定的参考价值。

目录

一、为什么大部分人选择使用MySQL数据库?

二、MySQL简介

1.MySQL介绍

2.MySQL的特点

3. MySQL的版本

从用户的角度,针对不同的用户

从单纯的版本数字区分

💟 创作不易,不妨点赞💚评论❤️收藏💙一下


一、为什么大部分人选择使用mysql数据库?

 绝大多数的使用linux操作系统的大中小型互联网网站都在使用mysql作为其后端数据库存储。从大型的BAT门户,到电商,到分类门户,无一例外都在使用Mysql。

原因主要有以下几点:

(1) Mysql性能卓越,服务稳定,很少出现宕机。

(2) 开放源代码,自主性,使用成本低。

(3) 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。

(4) 软件体积小,安装使用简单,并且易于维护。

(5) 品牌口碑效应,使得企业无需考虑就直接用之,LAMP LEMP流行架构。

(6) 支持多种操作系统,提供多个API接口,支持多个开发语言,特别对流行的php语言有很好的支持。


二、MySQL简介

1.MySQL介绍

(1) MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购;现在Sun公司又被Oracle公司收购,因此MySQL目前属于Oracle旗下的产品

(2) MySQL所使用的SQL语言是用于访问数据库最常用 的标准化语言。

目前,MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小,速度快,总体拥有成本低,一般中小型网站的开发都选择MySQL作为网站数据库。


2.MySQL的特点

(1) MySQL数据库的用C和C++语言编写的,以保证源码的可移植性。

(2) 支持多个操作系统,例如:Windows、Linux、Mac OS等等。

(3) 支持多线程,并发执行能力比较强,可以同时执行多个任务。可以充分的利用CPU多核机制和资源。

(4) 为多种编程语言提供API,包括C语言,java,PHP,Python语言等。

(5) MySQL在内部优化了一些SQL算法,有效的提高了查询速度。

(6) MySQL开放源代码且无版权制约,可以自己修改定制数据库,自主性强,使用成本低。

(7) MySQL历史悠久、社区及用户非常活跃,遇到问题可以很快获取到帮助。


3. MySQL的版本

从用户的角度,针对不同的用户

MySQL分为两种不同的版本:社区版和商业版

  • MySQL Community Server

-------- 社区版本,免费,但是MySQL不提供官方技术支持。

  • MySQL Enterprise Edition

---------商业版,收费版本,可试用30天,官方提供技术支持

  • MySQL Cluster

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

  • MySQL Cluster CGE

-------- 高级集群版,需付费

  • MySQL Workbench(GUI TOOL)

-------- 一款专门为MySQL设计的ER/数据库建模工具。MySQL Workbench又分为两个版本,社区版(MySQL Workbench OSS)和商用版(MySQL Workbench SE)

从单纯的版本数字区分

MySQL的命名机制使用由3个数字和一个后缀组成的版本号。

例如,像mysql-8.0.26的版本号这样解释:

 第1个数字(8)是主版本号,描述了文件格式。所有版本5的发行都有相同的文件格式。

 第2个数字(0)是发行级别。主版本号和发行级别组合到一起便构成了发行序列号。

 第3个数字(26)是在此发行系列的版本号,随每个新分发版递增。

目前,My SQL的最新版本为MySQL 8.0。


 写到最后

四季轮换,已经数不清凋零了多少, 愿我们往后能向心而行,一路招摇胜!

🐋 你的支持认可是我创作的动力

💟 创作不易,不妨点赞💚评论❤️收藏💙一下

😘 感谢大佬们的支持,欢迎各位前来不吝赐教

Mysql基础知识:视图

Mysql 视图

 

1. 视图简介

  1)视图的含义:

    视图是一张虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。

  2)为什么使用视图:   

    重用SQL语句。

    简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。

    使用表的组成部分而不是整个表。

    保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。    

    更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。

    注意:

      重要的是知道视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据,因此它们返回的数据是从其他表中检索出来的。在添加或更改这些表中的数据时,视图将返回改 变过的数据。

  3)视图的规则和限制:

    与表一样,视图必须唯一命名(不能给视图取与别的视图或表相同的名字)。

    对于可以创建的视图数目没有限制。

    为了创建视图,必须具有足够的访问权限。这些限制通常由数据库管理人员授予。

    视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个视图。

    ORDER BY 可以用在视图中,但如果从该视图检索数据 SELECT 中也含有 ORDER BY ,那么该视图中的 ORDER BY 将被覆盖。

    视图不能索引,也不能有关联的触发器或默认值。

    视图可以和表一起使用。例如,编写一条联结表和视图的 SELECT语句。

 

2. 创建视图

CREATE   ALGORITHM = UNDEFINED | MERGE | TEMPTABLE
         VIEW   视图名   ( 属性清单 )
         AS   SELECT   语句
         WITH   CASCADED | LOCAL   CHECK   OPTION;

  ALGORITHM是可选参数,表示视图选择的算法。

    UNDEFINED:表示mysql将自动选择所使用的算法;

    MERGE:表示将使用的视图语句与视图定义结合起来,使得视图定义的某一部分取代语句的对应部分;

    TEMPTABLE:表示将视图的结果存入临时表,然后使用临时表执行语句。

  属性清单是可选参数,指定视图中各个属性的名词。默认情况下与SELECT语句中查询的属性相同。

  SELECT语句是一个完整的查询语句,表示从某个表查询满足条件的记录。

  WITH CHECK OPTION是可选参数,表示更新视图时要保证在该视图的权限范围内。

    CASCADED:表示更新视图时要满足所有相关视图和表的条件;

    LOCAL:表示更新视图时要满足视图本身的定义条件即可。

  注意:创建视图分为:1)从单表创建视图;2)从多表创建视图。

 

3. 查看视图

DESCRIBE   视图名;
SHOW  TABLE  STATUS  LIKE   视图名;
SHOW  CREATE  VIEW   视图名;
SELECT * FROM information_schema.views;

  前两种为查看视图的基本信息,后两种为查看视图的详细信息。

 

4. 修改视图

  修改视图指修改视图中包含的表的字段。

  1)CREATE OR REPLACE VIEW修改视图

CREATE   OR  REPLACE  ALGORITHM = UNDEFINED | MERGE | TEMPTABLE
                      VIEW   视图名   ( 属性清单 )
                      AS   SELECT   语句
                      WITH   CASCADED | LOCAL   CHECK   OPTION;

  2)ALTER语句

ALTER   ALGORITHM = UNDEFINED | MERGE | TEMPTABLE
        VIEW   视图名   ( 属性清单 )
        AS   SELECT   语句
        WITH   CASCADED | LOCAL   CHECK   OPTION;

  注意:

    CREATE OR REPLACE VIEW可以修改现有的视图,也可以创建视图。而ALTER只能修改视图。

 

5. 更新视图

  更新视图指通过视图来插入、更新和删除表中的数据。

  因为视图是一个虚拟的表,其中没有数据。通过视图更新都是切换到基本表来更新。并且只能更新权限范围内的数据,超出范围则不能更新。

  可以通过INSERT、UPDATE、DELETE更新。

  注意:

    以下这几种情况不能更新视图:

    (1)视图中保护SUM()、COUNT()、MAX()、MIN()等函数;

    (2)视图中包含UNION、UNION ALL、DISTINCT、GROUP BY、HAVING等关键字;

    (3)常量视图;

    (4)视图中的SELECT包含子查询;

    (5)由不可更新的视图导出的视图;

    (6)创建视图时,ALGORITHM为TEMPTABLE类型;

    (7)视图对应的表上存在没有默认值的列,而且该列没有包含在视图中。

 

6. 删除视图

DROP  VIEW  [IF EXISTS]   视图名列表   [RESTRICT | CASCADE];

 

以上是关于MySQL基础为什么大部分人选择使用MySQL数据库?的主要内容,如果未能解决你的问题,请参考以下文章

为啥MYSQL很少人用视图,MYSQL的视图和MSSQL的视图有啥本质区别。

#yyds干货盘点# MySQL性能优化:选择优化的数据类型

MySQL之简介及基础操作

Mysql基础知识:视图

mysql复制(高可用架构方案的基础)

MySQL基础:检索数据