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服务器的工作方式如下:
- MySQL创建了一个数据库,允许您构建多个表来存储和操作数据,并定义每个表之间的关系。
- 客户端通过GUI界面或命令提示符使用特定的SQL表达式对MySQL进行请求。
- 最后,服务器应用程序将用所请求的表达式作出响应,并在客户端上产生所需的结果。
客户端可以使用任何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诞生的方式。
MySQL的名字取自联合创始人Michael Widenius的女儿名字,名字是”My”。
年度历史:
年份 | 事件 |
---|---|
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教程旨在帮助初学者和专业人士。