![]() MariaDB面试问题最常见的问题列表MariaDB以下是面试问题和答案 1) MariaDB是什么?MariaDB是MySQL开发人员开发的一个流行的、开源的、基于社区的项目。它是一种关系数据库管理技术,提供与MySQL相同的功能。它是MySQL的新替代品。 MariaDB将数据转化为结构化的广泛应用程序,范围从银行到网站。之所以使用MariaDB,是因为它快速、可伸缩、健壮,以及由存储引擎、插件和许多其他工具组成的可触及生态系统,使其适用于各种各样的用例。 MariaDB的最新版本(版本10.4)还包括GIS和JSON特性。 欲了解更多信息:点击这里 2) MariaDB的主要特点是什么?MariaDB通过一些扩展提供了与MySQL相同的特性。它是比较新的和先进的。 MariaDB的功能列表:
欲了解更多信息:点击这里 3)如何在MariaDB中创建数据库?CREATE DATABASE命令用于在MariaDB中创建数据库,CREATE SCHEMA是创建数据库的同义词。 语法: 如果可选的或替换子句,它充当了以下的快捷方式: 如果不存在: 当使用IF NOT EXISTS子句时,如果指定的数据库已经存在,MariaDB将返回一个警告而不是错误。 例如 输出: 查询OK, 1行受影响(0.01秒) 输出: 查询OK, 2行受影响(0.00秒) 输出: 查询OK, 1行受影响,1个警告(0.01秒) 警告:
显示数据库:该命令用于查看已创建的数据库 语法: 欲了解更多信息:点击这里 4)如何使用MariaDB中的数据库?使用数据库命令用于选择和使用MariaDB中的数据库。USE db-name'语句告诉MariaDB使用db_name数据库作为后续语句的默认(当前)数据库。数据库在会话结束前保持默认值,或者发出另一条USE语句: 语法: 例子 欲了解更多信息:点击这里 5)如何删除MariaDB中的数据库?删除数据库命令用于在MariaDB中删除数据库。这句话要非常小心!要使用DROP DATABASE,您需要在数据库上拥有DROP权限。DROP SCHEMA是DROP DATABASE的同义词 注意:当数据库被删除时,数据库上的用户权限不会自动取消语法: IF EXISTS语句: 使用IF EXISTS可以防止不存在的数据库发生错误。当使用IF EXISTS语句时,会为每个不存在的数据库生成一个注释。 例子 输出: 查询OK, 0行受影响(0.39秒) 输出: 错误(1008):不能删除数据库;数据库不存在[\]w: show warning enabled 输出: 查询OK, 0行受影响,1个警告(0.00秒) 注意(代码1008):不能删除数据库'student';数据库不存在欲了解更多信息:点击这里 6)如何在MariaDB的数据库中创建一个表?首先,必须在MariaDB中创建一个数据库,然后选择数据库,然后使用create table语句创建一个表。必须对表或数据库具有CREATE特权才能创建表。 语句创建表名,后面跟着列、索引和约束的列表。默认情况下,在默认数据库中创建一个表 语法: 例如 输出: 查询OK, 0行受影响(0.312秒) 可以使用SHOW TABLES命令验证表是否已创建。 欲了解更多信息:点击这里 7)如何删除MariaDB数据库中的表?DROP TABLE命令用于删除MariaDB数据库中的表。它会永久地删除表,并且无法恢复。每个表都必须有DROP权限。所有的表数据和表定义都被删除,以及与表相关的触发器,所以在使用此语句时要非常小心! 如果参数列表中命名的任何表不存在,MariaDB将返回一个错误,通过名称指示它不能删除哪些不存在的表,但它也会删除列表中所有存在的表。 语法: 例子 ![]() 可以验证表是否被删除。 输出 ![]() 欲了解更多信息:点击这里 8)如何在MariaDB数据库的表中插入记录?INSERT INTO语句用于在MariaDB数据库的表中插入记录。 语法: 或 或者你也可以在WHERE条件下使用它 例如 指定列名: 每次插入多于一行: 从另一个表中选择: 欲了解更多信息:点击这里 9)如何从MongoDB数据库的表中检索记录?SELECT语句用于从MongoDB数据库中的表中检索记录。通过使用不同的关键字,可以从表中选择单个、多条或所有记录。 语法: 从子句指示要从中检索行的一个或多个表。 SELECT语句可以与UNION语句、ORDER BY子句、LIMIT子句、WHERE子句、GROUP BY子句、HAVING子句等一起使用。 例子 我们有一个表“学生”,有一些数据。从"Students"中检索所有记录。 ![]() 欲了解更多信息:点击这里 10)如何从表中检索有限数量的记录?限制条款与SELECT语句一起使用,从表中选择有限数量的记录。它方便您根据您的使用检索记录。 语法: 例子 按降序检索记录: 让我们使用SELECT语句和“Students”表中的LIMIT子句。结果按降序显示,LIMIT为4。 ![]() 欲了解更多信息:点击这里 11)如何更改或更新MariaDB表中已经插入的记录?UPDATE语句用于更改、更新或修改MariaDB表的现有记录。它可以与WHERE, ORDER BY和LIMIT子句一起使用。 语法: 例如 我们有一个表“Test”,它有以下数据: ![]() 让我们把“标题”“Welcome to MariaDB”改成“Hello”。 ![]() 欲了解更多信息:点击这里 12) DELETE语句在MariaDB中的作用是什么?MariaDB DELETE语句用于从数据库中的表中删除一条或多条记录。如果不带WHERE条件,可以使用它从表中删除记录,也可以从整个表中删除记录。 语法: 让我们使用一个条件来删除数据。 例子 ![]() 查询执行成功。现在可以看到所选数据已被删除。 ![]() 您可以看到“Mahesh”在表中不可用。 同样,可以使用多个条件删除数据。 欲了解更多信息:点击这里 13) TRUNCATE语句有什么用?它和DELETE语句有什么不同?TRUNCATE TABLE语句用于永久删除表。它从表中删除所有记录。 语法: DELETE和TRUNCATE语句的区别:
例子 让我们截断表“Students”。 输出: 查询OK, 0行受影响(0.031秒)。 TRUNCATE查询执行成功。可以看到“Student”表的记录已经被永久删除。 输出: 没有发现记录。 欲了解更多信息:点击这里 14)什么是集合函数?MariaDB中有多少类型的聚合函数?在关系数据库管理系统中,聚合函数是将多行的值按一定的标准组合在一起作为输入,并提供更有意义的单个值(如列表、集合等)的函数。 下面是MariaDB中的聚合函数列表: MariaDB COUNT命令功能: MariaDB数据库中,COUNT函数用于返回表达式的计数。 语法: COUNT()函数只计算NOTNULL值。 MariaDB SUM命令功能: MariaDB SUM函数用于返回表达式的求和值。 语法: MariaDB MIN函数: MariaDB MIN()函数用于检索表达式的最小值。 语法: MariaDB MAX命令功能: MariaDB MAX()函数用于检索表达式的最大值。 语法: MariaDB AVG功能: MariaDB AVG()函数用于检索表达式的平均值。 语法: 或 MariaDB BIT_AND函数:返回exp中所有位的按位与。 语法: MariaDB BIT_OR:返回exp中所有位的按位或。 语法: MariaDB BIT_XOR:返回exp中所有位的逐位异或。 语法: 15) MariaDB中有哪些不同类型的从句?MariaDB支持RDBMS中使用的所有子句。例如: MariaDB Where条款:在MariaDB中,WHERE子句与SELECT、INSERT、UPDATE和DELETE语句一起使用,以选择或更改我们想要更改的特定位置。 它出现在语句中的表名之后。 语法: 注意:WHERE子句是可选子句。它可以与AND, OR, AND & OR, LIKE操作符一起使用。MariaDB Like条款:在MariaDB中,当操作需要精确匹配时,LIKE子句与SELECT语句一起使用,以检索数据。它可以与SELECT, INSERT, UPDATE和DELETE语句一起使用。 它用于模式匹配并返回true或false。用于比较的模式接受以下通配符: “%”通配符:匹配字符数(0或0以上)。 “_”通配符:匹配单个字符。它匹配集合中的字符。 语法: MariaDB按条款排序:在MariaDB数据库中,ORDER BY子句用于按升序或降序对结果集中的记录进行排序。 语法: 注意:您可以不使用ASC/DESC属性对结果进行排序。默认情况下,结果将按升序存储。MariaDB DISTINCT子句:当我们使用SELECT语句时,MariaDB DISTINCT子句用于从结果中删除重复项。 语法: 注意:当您在DISTINCT子句中使用唯一表达式时,查询将返回该表达式的惟一值。当您在DISTINCT子句中使用多个表达式时,查询将返回列出的多个表达式的唯一组合。DISTINCT子句不会忽略NULL值。因此,当在SQL语句中使用DISTINCT子句时,结果集将包括NULL作为一个不同值。 MariaDB FROM条款: MariaDB FROM子句用于从表中获取数据。它还用于连接您稍后将学习的表。 语法: 等。 WHERE子句有什么用?WHERE子句用于选择或更改从表中获取记录的特定位置。它与SELECT、INSERT、UPDATE和DELETE语句一起使用。 语法: WHERE单条件从句 例子 我们有一个表“Students”,其中包含一些数据。让我们从student_id小于6的“Student”表中检索所有记录。 输出: ![]() 欲了解更多信息:点击这里 17)在MariaDB中LIKE条款的用途是什么?MariaDB LIKE子句与SELECT、INSERT、UPDATE和DELETE语句一起使用,在操作需要精确匹配时检索数据。 它用于模式匹配并返回true或false。用于比较的模式接受以下通配符: “%”通配符:匹配字符数(0或0以上)。 “_”通配符:匹配单个字符。它匹配集合中的字符。 语法: 我们有一个表“Employees”,其中有以下数据。 ![]() 让我们使用带有LIKE条件的%通配符来查找所有以“L”开头的名称。 ![]() 欲了解更多信息:点击这里 18) MariaDB中ORDER BY条款的用途是什么?MariaDB ORDER BY子句用于按升序或降序对结果集中的记录进行排序。 注意:您可以不使用ASC/DESC属性对结果进行排序。默认情况下,结果将按升序存储。语法: ORDER BY子句不使用ASC/DESC属性: “Employees”表,有以下数据:
输出:
欲了解更多信息:点击这里 MariaDB DISTINCT条款有什么用?MariaDB DISTINCT子句用于在与SELECT语句一起使用时从结果中删除重复项。 语法: 注意:当您在DISTINCT子句中使用唯一表达式时,查询将返回该表达式的惟一值。当您在DISTINCT子句中使用多个表达式时,查询将返回列出的多个表达式的唯一组合。DISTINCT子句不会忽略NULL值。因此,当在SQL语句中使用DISTINCT子句时,结果集将包括NULL作为一个不同值。 单一表达式: 我们有一个名为“Students”的表,其中有一些重复的条目。“阿吉特”这个名字重复了三次。 ![]() 让我们使用DISTINCT子句从表中删除重复项。 输出: ![]() 您可以看到,“Ajeet”在原始的“Students”表中重复了三次,但在使用DISTINCT子句后,它只返回一次,重复的条目被删除。 欲了解更多信息:点击这里 20)为什么我们在SELECT语句中使用FROM子句?FROM子句与SELECT语句一起使用,从表中检索数据。它还用于连接表。 语法: 例子 让我们从“employees”表中检索所有雇员。 输出 ![]() 正如我们所知,FROM子句与SELECT子句一起用于连接两个表的数据。 ![]() 让我们以INNER JOIN为例:这是最常见的连接类型之一,它返回满足连接条件的多个表中的所有行。 我们有两个表“Student”和“Employee”。 ![]() ![]() 根据给定的参数,使用以下语法连接两个表: 输出: ![]() 欲了解更多信息:点击这里 21) COUNT()聚合函数的用途是什么?MariaDB COUNT()聚合函数用于返回表达式的计数。 函数的作用是:只计算非空值。 COUNT(*)计算表中的总行数。 如果没有匹配的行,COUNT()将返回0。 语法: 例子 我们有一个表“Students”,有以下数据: ![]() 从“Students”表中计算“student_id”: ![]() 欲了解更多信息:点击这里 22) MariaDB SUM()函数的用途是什么?MariaDB SUM函数用于返回表达式的求和值。 如果表没有任何行,那么SUM()返回NULL。DISTINCT关键字还与SUM()一起使用,只对表达式的不同值求和。 语法: 例子 表:电磁脉冲
![]() 输出: 5000 欲了解更多信息:点击这里 23) MariaDB中MIN()函数的用法是什么?MariaDB MIN()函数用于检索表达式的最小值。 MIN()也可以接受字符串参数,在这种情况下,它返回最小的字符串值。 如果没有匹配的行,MIN()返回NULL。 语法: 例子 我们有一个表“Student”,它有以下数据: ![]() 让我们使用MIN()函数来检索最低工资。 输出: ![]() 我们再举一个例子: ![]() ![]() 检查MIN字符串: ![]() 欲了解更多信息:点击这里 24) MAX()函数在MariaDB中的用法是什么?MariaDB MAX()函数用于检索表达式的最大值。 MAX()也可以接受字符串参数,在这种情况下,它返回最大的字符串值。 如果没有匹配的行,MAX()返回NULL。 语法: 例子 我们有一张“学生”桌 ![]() 列出分数最高的学生姓名: ![]() 查询最大字符串名称。 ![]() 欲了解更多信息:点击这里 25)在MariaDB数据库中AVG()函数的使用情况如何?MariaDB AVG()函数用于检索表达式的平均值。 如果没有匹配的行,AVG()返回NULL。 语法: 或 例子 我们有一个表“Employee2”,它有以下数据: ![]() 让我们从表中检索员工的平均工资。 输出 ![]() 注意:我们也可以使用带有公式和ORDER BY子句的平均函数。欲了解更多信息:点击这里 26) JOIN是什么?MariaDB有多少JOIN类型?JOIN用于从两个或多个表检索数据。默认情况下,JOIN也称为INNER JOIN。它与SELECT语句一起使用。 MariaDB中主要有两种类型的join: 内连接: MariaDB INNER JOIN是最常见的连接类型,它从满足连接条件的多个表中返回所有行。 语法: ![]() 例子 我们有两个表“Students”和“Employee2”。 学生表 ![]() Employee2表 ![]() 执行以下命令: 输出 ![]() 外连接: OUTER JOIN又分为两种类型: 左连接: MariaDB LEFT OUTER JOIN用于返回ON条件中指定的左边表中的所有行,并且只返回满足连接条件的另一个表中的那些行。 左外连接也称为左连接。 语法: ![]() 例子 输出 ![]() 正确的连接: MariaDB RIGHT OUTER JOIN用于返回ON条件中指定的右边表中的所有行,并且只返回连接字段满足条件的另一个表中的那些行。 MariaDB右外连接也称为右连接。 语法: ![]() 例子 ![]() 27)什么是MariaDB INNER JOIN?MariaDB INNER JOIN是最常见的连接类型,它从满足连接条件的多个表中返回所有行。 语法: 例子:我们有两个表的站点和页面: 网站表:
页表:
现在执行以下命令:输出:
欲了解更多信息:点击这里 28) MariaDB的LEFT OUTER JOIN是什么?MariaDB LEFT OUTER JOIN用于返回ON条件中指定的左边表中的所有行,并且只返回满足连接条件的另一个表中的那些行。 左外连接也称为左连接。 语法: 例子 我们有两个表的站点和页面: 网站表:
页表:
现在执行以下命令: 输出:
Site_name Google.com也包括在内,因为左连接。 欲了解更多信息:点击这里 29) MariaDB中什么是正确的OUTER JOIN ?MariaDB RIGHT OUTER JOIN用于返回ON条件中指定的右边表中的所有行,并且只返回连接字段满足条件的另一个表中的那些行。 MariaDB右外连接也称为右连接。 语法: 例子 我们有两个表的站点和页面: 网站表:
页表:
现在执行以下命令: 输出:
这里的page_id和page_title包含了右连接的值。 欲了解更多信息:点击这里 MariaDB的功能是什么?如何在MariaDB中创建和删除函数?MariaDB函数是一个存储程序,用于向它们传递参数并返回值 我们可以轻松地在MariaDB中创建和删除函数。 创建MariaDB函数: 你可以在MariaDB中创建自己的函数: 语法: 例子 在MariaDB数据库中创建一个函数CalcValue。 定义者条款这是一个可选从句。如果没有指定,定义者是创建函数的用户。如果希望指定不同的定义器,则必须包含definer子句,其中user_name是函数的定义器。 function_name:它指定在MariaDB中分配给该函数的名称。 return_datatype:指定函数返回值的数据类型。 语言SQL:它在可移植性语法中,但不会对函数产生影响。 确定的:这意味着函数在给定一组输入参数的情况下总是返回一个结果。 不确定性:这意味着给定一组输入参数,函数可能返回不同的结果。结果可能会受到表数据、随机数或服务器变量的影响。 包含SQL:默认值。它是一个信息性子句,告诉MariaDB函数包含SQL,但数据库不验证这是真的。 没有SQL:未被使用且对功能没有影响的信息从句。 读取SQL数据:一个信息性子句,它告诉MariaDB函数将使用SELECT语句读取数据,但不修改任何数据。 修改SQL数据:一个信息性子句,告诉MariaDB函数将使用INSERT、UPDATE、DELETE或其他DDL语句修改SQL数据。 declaration_section:在函数中声明局部变量的地方。 executable_section:在函数中输入该函数代码的地方。 输出: ![]() MariaDB DROP命令功能 您可以很容易地将创建的函数从数据库中删除。 语法: 参数解释 function_name:指定要删除的函数的名称。 例子 我们创建了一个名为“CalcValue”的函数。现在删除函数。 现在您可以看到该函数已被删除,不再出现在列表中。 ![]() 31)什么是数据库中的过程或存储过程?过程是数据库中的函数。当您希望重复执行某个任务时,将创建过程。 MariaDB过程是一个存储程序,用于向它传递参数。它不像函数那样返回值。 可以创建和删除函数之类的过程。 创建过程(MariaDB) 您可以像在MariaDB中创建函数一样创建自己的过程。 语法: 参数解释定义者条款:可选的。 procedure_name:在MariaDB中分配给这个过程的名称。 参数:传递到过程中的一个或多个参数。在创建过程时,有三种类型的参数可以声明: 在:可被过程引用。参数的值不能被过程覆盖。 出:该参数不能被过程引用,但其值可以被过程覆盖。 在出:过程可以引用形参,形参的值可以被过程覆盖。 语言SQL:它在可移植性语法中,但不会对函数产生影响。 确定的:这意味着函数在给定一组输入参数的情况下总是返回一个结果。 不确定性:这意味着给定一组输入参数,函数可能返回不同的结果。结果可能会受到表数据、随机数或服务器变量的影响。 包含SQL:默认值。它是一个信息性子句,告诉MariaDB函数包含SQL,但数据库不验证这是真的。 没有SQL:这是一个信息从句,不使用,不会对功能产生影响。 读取SQL数据:它是一个信息性子句,告诉MariaDB函数将使用SELECT语句读取数据,但不修改任何数据。 修改SQL数据:它是一个信息性子句,告诉MariaDB该函数将使用INSERT、UPDATE、DELETE或其他DDL语句修改SQL数据。 declaration_section:过程中声明局部变量的地方。 executable_section:在过程中输入该过程的代码的地方。 例子 在MariaDB数据库中创建名为“CalcValue”的过程。 过程创建成功: ![]() 您可以参照以下新程序 ![]() MariaDB DROP程序: 可以使用以下命令删除过程: 语法: 参数说明: procedure_name:它指定要删除的过程的名称。 例子 您可以看到,该过程现在已被删除,并且在列表中不可用。 ![]() |