MariaDB DATABASE() 函数的基础用法与实例

MariaDB DATABASE() 函数是一个信息函数,用于返回当前数据库的名称。

发布于

MariaDB DATABASE() 函数是一个信息函数,用于返回当前数据库的名称。如果没有选择任何数据库,该函数的返回值为 NULL

语法

MariaDB DATABASE() 函数的语法如下:

DATABASE()

该函数没有参数,也不需要括号。

实例

下面是一些使用 MariaDB DATABASE() 函数的实例。

返回当前数据库的名称

在本实例中,我们使用 MariaDB DATABASE() 函数来返回当前数据库的名称,假设我们已经选择了一个数据库,比如 test

SELECT DATABASE();

输出结果如下:

+------------+
| DATABASE() |
+------------+
| test       |
+------------+

从输出结果可以看出,当前数据库的名称是 test

返回 NULL

在本实例中,我们使用 MariaDB DATABASE() 函数来返回当前数据库的名称,假设我们没有选择任何数据库。

SELECT DATABASE();

输出结果如下:

+------------+
| DATABASE() |
+------------+
| NULL       |
+------------+

从输出结果可以看出,当前数据库的名称是 NULL,表示没有选择任何数据库。

使用 MariaDB DATABASE() 函数作为条件

在本实例中,我们使用 MariaDB DATABASE() 函数作为条件,来查询 information_schema 库中的 SCHEMATA 表,该表包含了所有数据库的信息。

SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = DATABASE();

输出结果如下:

+--------------+--------------------+----------------------------+------------------------+----------+
| CATALOG_NAME | SCHEMA_NAME        | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
+--------------+--------------------+----------------------------+------------------------+----------+
| def          | test               | utf8mb4                    | utf8mb4_general_ci     | NULL     |
+--------------+--------------------+----------------------------+------------------------+----------+

从输出结果可以看出,我们查询到了当前数据库 test 的相关信息,如字符集,排序规则等。

使用 MariaDB DATABASE() 函数作为函数参数

在本实例中,我们使用 MariaDB DATABASE() 函数作为函数参数,来调用 MariaDB CONCAT() 函数,该函数用于连接多个字符串。

SELECT CONCAT('The current database is ', DATABASE());

输出结果如下:

+------------------------------------------------+
| CONCAT('The current database is ', DATABASE()) |
+------------------------------------------------+
| The current database is test                   |
+------------------------------------------------+

从输出结果可以看出,我们使用 MariaDB DATABASE() 函数的返回值,与一个字符串进行连接,得到一个新的字符串。

使用 MariaDB DATABASE() 函数与 USE 语句

在本实例中,我们使用 MariaDB DATABASE() 函数与 USE 语句,来切换当前数据库。

SELECT DATABASE();

输出结果如下:

+------------+
| DATABASE() |
+------------+
| test       |
+------------+

然后,我们使用 USE 语句,来选择另一个数据库,比如 mysql

USE mysql;

执行成功后,我们再次使用 MariaDB DATABASE() 函数,来返回当前数据库的名称。

SELECT DATABASE();

输出结果如下:

+------------+
| DATABASE() |
+------------+
| mysql      |
+------------+

从输出结果可以看出,当前数据库的名称已经变为 mysql

相关函数

除了 MariaDB DATABASE() 函数外,还有一些与之相关的函数,如下:

  • MariaDB SCHEMA() 函数:与 MariaDB DATABASE() 函数等价,返回当前数据库的名称。
  • MariaDB CURRENT_SCHEMA() 函数:与 MariaDB DATABASE() 函数等价,返回当前数据库的名称。
  • MariaDB SELECTED_DATABASE() 函数:与 MariaDB DATABASE() 函数等价,返回当前数据库的名称。

下面是一个使用这些函数的实例:

SELECT DATABASE(), SCHEMA(), CURRENT_SCHEMA(), SELECTED_DATABASE();

输出结果如下:

+------------+----------+------------------+---------------------+
| DATABASE() | SCHEMA() | CURRENT_SCHEMA() | SELECTED_DATABASE() |
+------------+----------+------------------+---------------------+
| mysql      | mysql    | mysql            | mysql               |
+------------+----------+------------------+---------------------+

从输出结果可以看出,这些函数的返回值都是一样的,都是当前数据库的名称。

结论

MariaDB DATABASE() 函数是一个常用的信息函数,用于返回当前数据库的名称。如果没有选择任何数据库,该函数的返回值为 NULL。该函数可以作为条件,函数参数,或者与 USE 语句结合,来实现不同的功能。该函数还有一些与之相关的函数,如 SCHEMA()CURRENT_SCHEMA(),和 SELECTED_DATABASE(),它们返回当前数据库的名称,但是函数名不同,需要注意区分。