MySQL Exercises2024 年 8 月 29 日 | 阅读 6 分钟 MySQL 是一个开源的关系型数据库管理系统,被现代技术领域一些最成功的公司所使用。MySQL 创立于 1995 年,现已成为行业内创建和使用关系型数据库的事实标准。 因此,在我们自己的 MySQL 中,我们将介绍如何构建、填充和运行此类程序的标准 SQL 示例。 数据库管理系统概述通常,为了创建或销毁多个数据库,程序员使用数据库管理系统作为一类重要的工具。它们无需重复创建数据库,为开发人员提供了一种快速简便的方法来定义子集(通过定义表),并且可以在每个子集中操作字段。 SQL 表简介理解 MySQL 的另一个重要因素是学习结构化查询语言表(Structural Query Language Tables),这是任何 MySQL 应用程序的基础部分。 SQL 表是一种将数据存储在数字表格中的方法。这些表被划分为严格界定的列,每一列都决定了其中所有数据的类型和大小。这些列是任何数据库模式中至关重要的组成部分。 它使用了 MySQL 和当今使用的许多其他关系型数据库管理系统所采用的这种 SQL 表系统。 SQL 表数据库是关系型数据库的一种。表中各列包含的数据根据其共享属性以及与其他数据点的关系进行分类。 MySQL 服务器层MySQL 的关键部分是 MySQL 服务器。它作为一个独立的库提供,可以包含在您的应用程序中以处理数据库调用。 MySQL 程序的每个方面都以某种方式与 MySQL 服务器进行交互。 数据库这是我们最广泛和最高级别的层次,作为其下所有层次的容器。它是一个数据框架,如果缺失,将使 MySQL 陷入混乱。一个给定的程序可以有多个数据库,这为开发人员提供了一种在同一框架下包含差异巨大的表子集的方法。 表我们的第二大层次是表,它是相关数据子集的存储库。一个数据库可以有多个表,每个表对应一个用户定义的类别。查询时也必须指明它们所属的表,以防止意外溢出或过长的运行时间。这对于隐私保护也很有帮助。 列列进一步将表进行划分,因为每个定义的列都有一个数据类型,并且相应字段中的所有值都必须遵循此格式。一个表的各列可以有不同的数据类型,这反过来又将数据划分为具有语义上下文的子集。这对于指明表中所有行都应包含哪些信息列(即使只是 NULL 值)以及单独存储该行的正确值特别有用。 行最小的层次是行;它们的功能与列非常相似。在一种类型中,列显示了各项之间是如何相关的,而行则绕过了这些不太明确的分组。指向表中每一行的键是唯一的。 SQL 入门指南MySQL 的优点MySQL 是一个关系型数据库管理系统,它结合了上述数据库管理系统和内置 SQL 表的所有优点,同时还增加了一些独特的功能。以下是 MySQL 最大优势的分解说明。 MySQL 中的常见数据类型在我们深入代码示例之前,首先看一下 MySQL 的基本数据类型,了解每种类型的特点以及它们的使用场景。 字符串类型CHAR(x) 我们的第一种字符串类型是 CHAR,它在定义时需要一个固定的大小 x。如果字符串太短,MySQL 会用空格填充。 用空格填充直到字符数满。这是内存效率最高的字符串类型,但其局限性在于这种数组的每个单元格中必须有一个特定的字符。 数字类型Integer 熟悉其他编程语言的人会觉得 INTEGER 类型非常亲切。此数据类型可以取介于 -2147483648 和 2147483647 之间的任何整数。 在 SQL 标准的基础上,MySQL 还允许使用 TINYINT、MEDIUMINT 和 BIGINT 等子类型,它们各有不同的最小值和最大值,以及不同的存储需求。 从表中我们可以看到,每种整数类型都有不同的存储需求。为了在程序中达到最佳效率,任何给定的列都应使用适用的最小整数类型。 Numeric(M,D) NUMERIC 类型以十进制形式存储精确的数值数据。如果在设置时定义了这样的列,则可以指定 M(表示允许的最大有效数字位数)和 D。这些决定了可能值的范围;例如,对于 NUMERIC(4,2),有效数字介于 -99.99 和 99.99 之间。此外,如果未指定,M 默认为 10,D 默认为 0。 由于 INTEGER 类型也是如此,一般来说,范围的绝对值应尽可能小。 例如,以“价格”列为例。如果它是 NUMERIC(4,4),那么数字 15.50 将被存储为 "15.5000",因为有四位有效数字,并且小数点右边有四位;但如果它被定义为 NUMERIC(3,2) 甚至更少一位浮点数,情况就不同了。 特殊类型 特殊类型的范畴很广,包括既非字符串也非数字形式的数据。MySQL 中有几十种特殊数据类型。在这里,我们将研究一些最简单和最方便的类型,包括用于存储日期的 DATE 和只有某些有效响应的 ENUM。 示例:存储支持工单之前,我们更多地将 MySQL 问题用作个人书面清单。现在我们通过一个程序来说明如何编写一个普通的 SQL MySQL 程序来处理我们的支持工单,从数据库构建到数据录入和访问。 设计我们的数据库、表和列然后,我们创建客户服务数据库,所有与该部门相关的表都将存储在这里。然后我们选择 CustomerService,作为我们之后使用 USE 命令的目标。 由于我们业务规模小且灵活,原则上可以为 Websites Incorporated 公司的每个部门都建立数据库。但是,这里我们将使用 CustomerService 作为一个例子。 所以首先,我们为客户服务部门建立一个数据库,然后创建一个 Tickets 表来存储我们所有的支持工单。 一个用于存储客户电子邮件地址的字符串(最多 50 个字符),以便稍后可以回复。 “Null”部分告诉我们该列是否可以接受 NULL 值,以及在适用的情况下,它当前是否被“Key”索引。我们还从“Default”中了解到每列的默认值(如果有的话),以及一些特殊信息,例如列是在“Auto-Increment”(自动递增)条件下创建的。 插入行现在我们已经创建了表并定义了列。让我们用一些数据来填充它。
查询值但是现在表已经填充好了,我们需要一种方法来获取我们的值。这方面的应用由 SELECT 命令处理,它可以获取整个表、特定表中的列,或者仅获取给定列中具有指定值的行。
最后,如果我们只想打印仅发生在我们网站电脑版的工单,那么通过将 SELECT 与 WHERE 修饰符一起使用在一个句子中,我们就可以指定哪些行满足条件并一次性通过一个有序循环!我们这里只关心与电脑相关的问题,所以我们指定 Device 列必须等于 Computer 进行查询。 结束我们的程序在我们的 MySQL 程序中,创建、插入和选择的基础知识已经结束,并由我们大胆地进行了解释,现在我们只是抛砖引玉,为更大的操作清理空间。 下一主题MySQL 免费课程 |
我们请求您订阅我们的新闻通讯以获取最新更新。