MySQL 教程

2024年03月21日 MySQL 教程 极客笔记

MySQL 教程

MySQL教程提供了MySQL的基本概念和高级概念。我们的MySQL教程旨在面向初学者和专业人士。

MySQL是一个基于结构化查询语言(SQL)的关系数据库管理系统,SQL是流行的用于访问和管理数据库中记录的语言。MySQL是开源的自由软件,受GNU许可证保护。它由 Oracle公司 支持。

我们的MySQL教程包括MySQL数据库的所有主题,介绍了如何通过各种SQL查询来管理数据库和操作数据。这些查询包括:插入记录、更新记录、删除记录、选取记录、创建表、删除表等。还提供了MySQL面试题,帮助您更好地理解MySQL数据库。

什么是数据库?

在学习MySQL之前,理解数据库非常重要。数据库是存储组织好的记录集合的应用程序。用户可以轻松地访问和管理它。它允许我们将数据组织成表、行、列和索引,以便快速查找相关信息。每个数据库都包含用于执行数据库操作的不同 API ,例如创建、管理、访问和搜索其存储的数据。现在有许多数据库可用,如MySQL、Sybase、 Oracle 、 MongoDB 、 PostgreSQL 、 SQL Server 等。在本节中,我们将主要专注于MySQL。

什么是MySQL?

MySQL是目前最流行的用于管理关系数据库的数据库管理系统软件。它是开源的数据库软件,由Oracle公司支持。与Microsoft SQL Server和Oracle Database相比,它是快速、可伸缩且易于使用的数据库管理系统。它通常与用于创建功能强大且动态的服务器端或基于Web的企业应用程序的 PHP 脚本一起使用。

它由 MySQL AB公司,一家瑞典公司 开发、推广和支持,并使用 C编程语言 和 C++编程语言 编写。MySQL的官方发音不是“My Sequel”,它是 我的SQL 。然而,您可以按照您自己的方式发音。 许多小公司和大公司都使用MySQL。MySQL支持许多操作系统,如 Windows 、 Linux 、MacOS等,使用C、C++和 Java语言 。

MySQL是一个 关系数据库管理系统 (RDBMS)软件,提供以下许多功能:

  • 它允许我们在表、行、列和索引上实现数据库操作。
  • 它以表(行和列的集合)的形式定义数据库关系,也称为关系。
  • 它提供了各个表之间的引用完整性。
  • 它允许我们自动更新表索引。
  • 它使用许多SQL查询,从多个表中组合有用的信息给最终用户。

MySQL如何工作?

MySQL遵循客户端-服务器体系结构。这个模型是为最终用户(称为客户端)通过网络服务从一个称为服务器的中央计算机访问资源而设计的。在这里,客户端通过图形用户界面(GUI)发出请求,只要指令匹配,服务器就会提供所需的输出。MySQL环境的工作过程与客户端-服务器模型相同。

MySQL数据库的核心是MySQL服务器。这个服务器作为一个独立的程序可用,并负责处理所有的数据库指令、语句或命令。MySQL数据库与MySQL服务器的工作方式如下:

  1. MySQL创建了一个数据库,允许您构建多个表来存储和操作数据,并定义每个表之间的关系。
  2. 客户端通过GUI界面或命令提示符使用特定的SQL表达式对MySQL进行请求。
  3. 最后,服务器应用程序将用所请求的表达式作出响应,并在客户端上产生所需的结果。

客户端可以使用任何MySQL GUI 。但是,要确保您的GUI更轻量和用户友好,以使您的数据管理活动更快捷、更容易。一些广泛使用的MySQL GUI包括MySQL Workbench、SequelPro、DBVisualizer和Navicat DB Admin Tool。有些GUI是商业软件,有些是功能受限的免费软件,还有些只能与MacOS兼容。因此,您可以根据自己的需求选择GUI界面。

受欢迎的原因

MySQL之所以如此受欢迎,原因如下:

  • MySQL是一个开源数据库,所以您不需要支付任何费用来使用它。
  • MySQL是一个非常强大的程序,可以处理大部分功能最昂贵、最强大的数据库软件包。
  • MySQL可定制,因为它是一个开源数据库,开源的GPL许可证使程序员能够根据自己的特定环境修改SQL软件。
  • MySQL比其他数据库更快,因此即使处理大量数据集也能很好地工作。
  • MySQL支持许多操作系统和许多语言,如PHP、PERL、C、C++、JAVA等。
  • MySQL使用了众所周知的标准形式的SQL数据语言。
  • MySQL与PHP非常友好,PHP是最流行的Web开发语言。
  • MySQL支持大型数据库,一个表中可以有5000万行或更多。表的默认文件大小限制是4GB,但您可以将其(如果操作系统能够处理)增加到800万兆字节(TB)的理论上限。

MySQL的历史

MySQL的项目始于1979年,当时MySQL的发明者 Michael Widenius 开发了一个名为 UNIREG 的内部数据库工具来管理数据库。之后,UNIREG在几种不同的语言中被重写,并扩展用于处理大型数据库。过了一段时间,Michael Widenius联系了 David Hughes ,mSQL的作者,看看Hughes是否有兴趣将mSQL连接到UNIREG的B+ ISAM处理程序,以为mSQL提供索引。这就是MySQL诞生的方式。

年度历史:

年份 事件
1995 MySQL AB在瑞典成立,创始人是Michael Widenius(Monty)、David Axmark和Allan Larsson。
2000 MySQL开源,并在GPL条款下发布软件。由于此举,收入下降了80%,花了一年时间才有所回升。
2001 Marten Mickos以38岁的年纪当选为首席执行官。Marten在加入MySQL之前是几家北欧公司的首席执行官,具备销售与市场营销背景。活跃安装量达200万,从斯堪的纳维亚风险投资公司募得一轮未透露的金额,估计金额约为100万至200万美元。
2002 MySQL除了瑞典总部外,还开设了总部。当时活跃用户达300万。MySQL在这一年中以650万美元的收入结束,拥有1000个付费客户。
2003 该年从Benchmark Capital和Index Ventures获得一轮价值1950万美元的B轮融资。当时活跃安装量为400万,每天下载量超过3万次。年收入为1200万美元。
2004 由于大部分收入来自OEM双重许可模式,MySQL决定进一步拓展企业市场,并更加关注来自最终用户的重复收入,而不是来自OEM伙伴的一次性许可费用。年收入达到2000万美元。
2005 MySQL推出了仿照Redhat网络的MySQL网络模式。MySQL网络是面向最终用户的订阅服务,提供更新、警报、通知和产品级支持,旨在帮助企业更轻松地管理数百个MySQL服务器。MySQL 5发布,并包含许多新功能,以争夺企业用户(例如,存储过程、触发器、视图、游标、分布式事务、联合存储引擎等)。Oracle收购innobase,即MySQL InnoDB存储后端背后的芬兰公司,年收入基于3400个客户达到3400万美元。
2006 Marten Mickos确认Oracle曾试图收购MySQL。Oracle首席执行官Larry Ellison评论道:“我们与他们交谈过,实际上我们与几乎每个人都有过沟通。我们有兴趣吗?这是一家小公司。我认为MySQL的收入介于3000万至4000万美元之间。Oracle明年的收入将达到150亿美元。”Oracle收购了为MySQL提供Berkeley db事务存储引擎的sleepycat公司。Marten Mickos宣布计划在2008年将MySQL准备好进行首次公开募股,预计年收入达1亿美元。活跃安装量达到800万,MySQL在25个国家拥有320名员工,其中70%在家办公。据估计,MySQL在安装基数方面占有33%的市场份额,在收入方面占有0.2%的市场份额(2006年数据库市场总额为150亿美元)。年收入为5000万美元。
2007 年收入达到7500万美元。
2008 Sun Microsystems以约10亿美元收购了MySQL AB。MySQL AB的两位联合创始人Michael Widenius(Monty)和David Axmark开始公开批评Sun,并在不久后离开该公司。
2009 Marten Mickos离开Sun,成为Benchmark Capital的创业者驻场专家。Sun现在已经失去了将MySQL变成成功的商业和精神领袖。 Sun Microsystems和Oracle宣布已达成最终协议,Oracle将以每股9.50美元的现金收购Sun普通股。交易估值约为74亿美元。

MySQL索引

MySQL教程

  • MySQL教程
  • MySQL历史
  • MySQL特性
  • MySQL数据类型
  • 安装MySQL

MySQL数据库

  • 创建数据库
  • 选择数据库
  • 删除数据库

表格和视图

  • 创建表格
  • 修改表格
  • 截断表格
  • 删除表格
  • MySQL视图

MySQL查询

  • MySQL查询
  • 插入记录
  • 更新记录
  • 删除记录
  • 选择记录

MySQL子句

  • MySQL WHERE
  • MySQL DISTINCT
  • MySQL FROM
  • MySQL ORDER BY
  • MySQL GROUP BY
  • MySQL HAVING

MySQL条件

  • MySQL AND
  • MySQL OR
  • MySQL AND OR
  • MySQL LIKE
  • MySQL IN
  • MySQL NOT
  • MySQL IS NULL
  • MySQL IS NOT NULL
  • MySQL BETWEEN

MySQL连接

  • MySQL连接

聚合函数

  • MySQL count()
  • MySQL sum()
  • MySQL avg()
  • MySQL min()
  • MySQL max()
  • MySQL first()
  • MySQL last()

差异

  • MariaDB vs MySQL
  • PostgreSQL vs MySQL

MySQL日期/时间函数

  • MySQL日期/时间
  • DATE()函数
  • ADDDATE()函数
  • CURDATE()函数
  • CURRENT_DATE()函数
  • DATE_ADD()函数
  • DATE_FORMAT()函数
  • DATEDIFF()函数
  • DAY()函数
  • DAYNAME()函数
  • DAYOFMONTH()函数
  • DAYOFWEEK()函数
  • DAYOFYEAR()函数
  • From_days()函数
  • Hour()函数
  • ADDTIME()函数
  • CURRENT_TIME()函数
  • CURRENT_TIMESTAMP()函数
  • CURTIME()函数
  • last_day()函数
  • localtime()函数
  • localtimestamp()函数
  • makedate()函数
  • maketime()函数
  • microsecond()函数
  • minute()函数
  • month()函数
  • monthname()函数
  • now()函数
  • period_add()函数
  • period_diff()函数
  • quarter()函数
  • sec_to_time()函数
  • second()函数
  • str_to_date()函数
  • Subdate()函数
  • Subtime()函数
  • Sysdate()函数
  • time()函数
  • time_format()函数
  • time_to_sec()函数
  • timediff()函数
  • timestamp()函数
  • to_day()函数
  • weekday()函数
  • week()函数
  • weekofyear()函数

MySQL数学函数

  • MySQL数学
  • 数学ABS()函数
  • 数学ACOS()函数
  • 数学SIGN()函数
  • 数学SIN()函数
  • 数学SQRT()函数
  • 数学SUM()函数
  • 数学TAN()函数
  • 数学TRUNCATE()函数
  • 数学ASIN()函数
  • 数学ATAN2()函数
  • 数学ATAN()函数
  • 数学AVG()函数
  • 数学CEIL()函数
  • 数学CEILING()函数
  • 数学COS()函数
  • 数学COT()函数
  • 数学COUNT()函数
  • 数学DEGREES()函数
  • 数学DIV()函数
  • 数学EXP()函数
  • 数学FLOOR()函数
  • 数学GREATEST()函数
  • 数学LEAST()函数
  • 数学LN()函数
  • 数学LOG10()函数
  • 数学LOG()函数
  • 数学LOG2()函数
  • 数学MAX()函数
  • 数学MIN()函数
  • 数学MOD()函数
  • 数学PI()函数
  • 数学POWER()函数
  • 数学POW()函数
  • 数学RADIANS()函数
  • 数学RAND()函数
  • 数学ROUND()函数

MSQL字符串函数

  • MySQL字符串
  • 字符串CONCAT_WS()函数
  • 字符串CONCAT()函数
  • 字符串CHARACTER_LENGTH()函数
  • 字符串ELT()函数
  • 字符串EXPORT_SET()函数
  • 字符串FIELD()函数
  • 字符串FIND_IN_SET()函数
  • 字符串FORMAT()函数
  • 字符串FROM_BASE64()函数
  • 字符串HEX()函数
  • 字符串INSERT()函数
  • 字符串INSTR()函数
  • 字符串LCASE()函数
  • 字符串LEFT()函数
  • 字符串LENGTH()函数
  • 字符串like()函数
  • 字符串LOAD_FILE()函数
  • 字符串LOCATE()函数
  • 字符串LOWER()函数
  • 字符串LPAD()函数
  • 字符串LTRIM()函数
  • 字符串MAKE_SET()函数
  • 字符串MID()函数
  • 字符串OCTET_LENGTH()函数
  • 字符串OCT()函数
  • 字符串ORD()函数
  • 字符串POSITION()函数
  • 字符串QUOTE()函数
  • 字符串REPEAT()函数
  • 字符串REPLACE()函数
  • 字符串REVERSE()函数
  • 字符串RIGHT()函数
  • 字符串RPAD()函数
  • 字符串RTRIM()函数
  • 字符串SOUNDEX()函数
  • 字符串SPACE()函数
  • 字符串STRCMP()函数
  • 字符串SUBSTR()函数
  • 字符串SUBSTRING_INDEX()函数
  • 字符串SUBSTRING()函数
  • 字符串Trim()函数
  • 字符串UCASE()函数
  • 字符串UNHEX()函数
  • 字符串UPPER()函数

先决条件

在学习MySQL之前,您必须具备计算机基础知识。

受众

我们的MySQL教程旨在帮助初学者和专业人士。

本文链接:http://so.lmcjl.com/news/131/

展开阅读全文