MySQL 介绍

MySQL 是最受欢迎的开源 SQL 数据库管理系统,由 Oracle Corporation(公司) 开发、分发和支持。MySQL 是一个数据库管理系统。
数据库是结构化的数据集合。它可以是任何东西,从简单的购物清单到图片库或公司网络中的大量信息。要添加、访问(access)和处理存储在计算机数据库中的数据,您需要一个数据库管理系统,例如 MySQL Server。由于计算机非常擅长处理大量数据,因此数据库管理系统在计算中发挥着核心作用,作为独立实用程序或作为其他应用程序的一部分。

关系数据库将数据存储在单独的表中,而不是将所有数据放在一个大仓库中。数据库结构被组织成针对速度优化的物理文件。具有数据库、表、视图、行和列等对象的逻辑模型提供了灵活的编程环境。您设置了管理不同数据字段之间关系的规则,例如一对一、一对多、唯一、必需或可选,以及不同表之间的“指针”。数据库强制执行这些规则,因此使用设计良好的数据库,您的应用程序永远不会看到不一致、重复、孤立、过时或丢失的数据。
“MySQL”的 SQL 部分代表“结构化查询语言”。 SQL 是用于访问数据库的最常见的标准化语言。根据您的编程环境,您可以直接输入 SQL(例如,生成报告)、将 SQL 语句嵌入到用另一种语言编写的代码中,或者使用隐藏 SQL 语法的特定语言 API。
SQL 由 ANSI/ISO SQL 标准定义。 SQL 标准自 1986 年以来一直在发展,并且存在多个版本。在本手册中,“SQL-92”指的是 1992 年发布的标准,“SQL:1999”指的是 1999 年发布的标准,“SQL:2003”指的是当前版本的标准。我们在任何时候都使用短语“SQL 标准”来表示 SQL 标准的当前版本。

 

MySQL 软件是开源的。
开源意味着任何人都可以使用和修改软件。任何人都可以从 Internet 上下载 MySQL 软件并使用它,而无需支付任何费用。如果您愿意,您可以研究源代码并根据您的需要进行更改。 MySQL 软件使用 GPL(GNU 通用公共许可证)http://www.fsf.org/licenses/ 来定义在不同情况下您可以使用该软件做什么和不可以做什么。如果您对 GPL 感到不舒服或需要将 MySQL 代码嵌入到商业应用程序中,您可以从我们这里购买商业许可版本。有关更多信息,请参阅 MySQL 许可概述 (http://www.mysql.com/company/legal/licensing/)。

 

如果那是您正在寻找的东西,那么您应该尝试一下。 MySQL Server 可以与您的其他应用程序、Web 服务器等一起在台式机或笔记本电脑上舒适地运行,几乎不需要注意。如果您将整台机器专用于 MySQL,您可以调整设置以利用所有可用的内存、CPU 能力和 I/O 容量。 MySQL 还可以扩展到网络在一起的机器集群。
MySQL Server 最初是为了比现有解决方案更快地处理大型数据库而开发的,并且已在高要求的生产环境中成功使用了数年。尽管在不断的发展中,今天的 MySQL Server 提供了丰富且有用的功能集。它的连接性、速度和安全性使 MySQL Server 非常适合访问 Internet 上的数据库。

 

MySQL 服务器在客户端/服务器或嵌入式系统中工作。
MySQL 数据库软件是一个客户端/服务器系统,由一个支持不同后端的多线程 SQL 服务器、几个不同的客户端程序和库、管理工具和广泛的应用程序编程接口 (API) 组成。
我们还提供 MySQL Server 作为嵌入式多线程库,您可以将其链接到您的应用程序以获得更小、更快、更易于管理的独立产品。

 

“MySQL”的官方发音方式是“My Ess Que Ell”(不是“my sequel”),但我们不介意您将其发音为“my sequel”或其他一些本地化方式。

 

内部结构和便携性
用 C 和 C++ 编写。
使用广泛的不同编译器进行测试。
适用于许多不同的平台。请参阅 https://www.mysql.com/support/supportedplatforms/database.html。
为了可移植性,使用 CMake 进行配置。
使用 Purify(一种商业内存泄漏检测器)和 Valgrind,一个 GPL 工具(http://developer.kde.org/~sewardj/)进行了测试。
采用独立模块的多层服务器设计。
使用内核线程设计为完全多线程,以便在可用的情况下轻松使用多个 CPU。
提供事务性和非事务性存储引擎。
使用非常快的 B 树磁盘表 (MyISAM) 和索引压缩。
旨在使添加其他存储引擎变得相对容易。如果您想为内部数据库提供 SQL 接口,这很有用。
使用非常快速的基于线程的内存分配系统。
使用优化的嵌套循环连接执行非常快速的连接。
实现内存中的哈希表,用作临时表。
使用高度优化的类库实现 SQL 函数,该类库应该尽可能快。通常在查询初始化之后根本没有内存分配。
将服务器作为单独的程序提供,以在客户端/服务器网络环境中使用。

 

数据类型
许多数据类型:有符号/无符号整数 1、2、3、4 和 8 字节长、FLOAT、DOUBLE、CHAR、VARCHAR、BINARY、VARBINARY、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET、ENUM和 OpenGIS 空间类型。

固定长度和可变长度字符串类型。

 

MySQL的历史
我们一开始打算使用 mSQL 数据库系统使用我们自己的快速低级 (ISAM) 例程连接到我们的表。然而,经过一些测试,我们得出的结论是 mSQL 不够快或不够灵活,无法满足我们的需求。这为我们的数据库带来了一个新的 SQL 接口,但 API 接口与 mSQL 几乎相同。此 API 旨在使为与 mSQL 一起使用而编写的第三方代码能够轻松移植以与 MySQL 一起使用。
MySQL 以联合创始人 Monty Widenius 的女儿 My 命名。
MySQL Dolphin(我们的徽标)的名称是“Sakila”,它是从我们的“为海豚命名”竞赛中用户建议的大量名称中选择的。获奖名称由来自非洲 Eswatini(原斯威士兰)的开源软件开发人员 Ambrose Twebaze 提交。根据 Ambrose 的说法,女性名字 Sakila 源于史瓦帝尼的当地语言 SiSwati。 Sakila 也是坦桑尼亚阿鲁沙的一个小镇的名称,靠近安布罗斯的原籍国乌干达。

posted on   小白白中白  阅读(895)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示