82 次浏览
我们知道,可以使用 SHOW DATABASES 语句查看 MySQL 数据库列表。类似地,我们可以使用 SHOW SCHEMAS 作为 SHOW DATABASES 的同义词来获取数据库列表。示例:mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | gaurav | | mysql | | performance_schema | | query | | query1 | | sys | | tutorials | +--------------------+ 8 rows in set (0.07 sec) mysql> SHOW SCHEMAS; +--------------------+ | Database | +--------------------+ | information_schema | | gaurav | | mysql | | performance_schema | | query | | query1 | | sys | | tutorials | +--------------------+ 8 rows in set (0.00 sec)
177 次浏览
我们可以使用 MySQL COALESCE() 函数从值的列表中获取第一个非 NULL 值作为输出。换句话说,此函数将检查所有值,直到找到非空值。它可以接受一个或多个参数。其语法如下:COALESCE(value1, value2, …, valueN)示例以下是一个演示它的示例:mysql> Select COALESCE(NULL, NULL, NULL, 'Ram', 'Aarav', NULL); +--------------------------------------------------+ | COALESCE(NULL, NULL, NULL, 'Ram', 'Aarav', NULL) | +--------------------------------------------------+ | Ram | +--------------------------------------------------+ 1 row in set (0.00 sec)
1K+ 次浏览
如果 MySQL COALESCE() 函数中的所有值都为 NULL,则它将返回 NULL 作为输出。这意味着此函数在列表中找不到任何非 NULL 值。示例:mysql> Select COALESCE(NULL, NULL, NULL, NULL); +----------------------------------+ | COALESCE(NULL, NULL, NULL, NULL) | +----------------------------------+ | NULL | +----------------------------------+ 1 row in set (0.00 sec)
111 次浏览
数据库服务器可能会出现一些问题,例如:服务器意外关闭、写入硬盘数据时出错等。这些情况可能会导致数据库运行不正确,最坏情况下会导致数据库崩溃。借助 CHECK TABLE 语句,MySQL 允许我们检查数据库表的完整性。其语法如下:CHECK TABLE table_name 其中,table_name 是表名。示例我们对 Student_info 表运行此语句,如下所示:mysql> CHECK table student_info\G *************************** 1. row *************************** Table: query.student_info ... 阅读更多
68 次浏览
我们可以使用 MySQL 绝对值函数 ABS() 从表中选择记录,如果两个值的差的绝对值大于某个数字。例如,我们使用“Marks”表中的数据来演示它。示例 mysql> Select * from studentmarks where abs(Hindi-English)>10; +--------+-------+---------+------+---------+-----------+ | Name | Hindi | English | Math | Physics | Chemistry | +--------+-------+---------+------+---------+-----------+ | Gaurav | 75 | 86 | 95 | 69 | 85 ... 阅读更多
155 次浏览
在使用数据库时,我们倾向于进行大量更改,例如插入、更新和删除表中的数据,这会导致表的物理存储碎片化。结果,数据库服务器的性能下降。MySQL 为我们提供了 OPTIMIZE TABLE 语句,允许您优化表以避免此碎片问题。其语法如下:OPTIMIZE TABLE table_name 其中,table_name 是表名。示例我们对 Student_info 表运行此语句,如下所示:mysql> Optimize table student_info\G *************************** 1. row *************************** Table: query.student_info Op: ... 阅读更多
298 次浏览
MySQL 查询优化器是 MySQL 服务器的一个重要组成部分,它为查询创建最佳的执行计划。对于特定查询,查询优化器使用存储的键分布和其他因素来确定执行连接时应连接表的顺序以及应为特定表使用哪个索引。但是,键分布有时可能不准确,例如,在对表进行大量数据更改(包括插入、删除或更新)之后。如果键分布不正确,查询优化器可能会选择一个糟糕的…… 阅读更多
72 次浏览
我们知道空十六进制值是零长度的二进制字符串,因此如果向其添加 0,则结果将为 0。换句话说,如果我们将空十六进制值转换为数字,则它将产生 0。以下查询将使您理解:mysql> SELECT X''+ 0; +--------+ | X''+ 0 | +--------+ | 0 | +--------+ 1 row in set (0.15 sec)
194 次浏览
实际上,MySQL 将空十六进制值评估为零长度的二进制字符串。它可以如下所示:mysql> Select CHARSET(X''); +--------------+ | CHARSET(X'') | +--------------+ | binary | +--------------+ 1 row in set (0.00 sec) 以上结果集显示空十六进制值是二进制字符串。以下结果集显示其长度为 0。mysql> Select LENGTH(X''); +-------------+ | LENGTH(X'') | +-------------+ | 0 | +-------------+ 1 row in set (0.00 sec)
122 次浏览
如果我们向 UNHEX() 函数提供任何非十六进制数字作为参数,MySQL 将返回 NULL。以下示例将演示它。示例:mysql> Select UNHEX('ANK96598'); +-------------------+ | UNHEX('ANK96598') | +-------------------+ | NULL | +-------------------+ 1 row in set (0.00 sec) 我们知道有效的十六进制数字介于“0…9”、“A…F”或“a…f”之间,因此以上查询返回 NULL。