sql >> Databáze >  >> RDS >> Mysql

DATABASE() – Získá aktuální název databáze v MySQL

V MySQL, DATABASE() je vestavěná funkce, která vrací výchozí (aktuální) název databáze.

Výsledek je vrácen jako řetězec v utf8 znaková sada. Pokud neexistuje žádná výchozí databáze, vrátí NULL .

Syntaxe

Syntaxe vypadá takto:

DATABASE()

Nejsou vyžadovány ani přijímány žádné argumenty.

Příklad

Zde je příklad k demonstraci:

SELECT DATABASE();

Příklad výsledku:

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

V tomto případě nemám aktuální databázi, takže výsledek je NULL .

Pojďme se přepnout do databáze:

USE sakila;

A spusťte to znovu:

SELECT DATABASE();

Výsledek:

+------------+
| DATABASE() |
+------------+
| sakila     |
+------------+

Nepřijímáme žádné argumenty

Předávání argumentů do DATABASE() výsledkem je chyba:

SELECT DATABASE(oops);

Výsledek:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'oops)' at line 1

Uložené rutiny

V rámci uložené rutiny (jako je uložená procedura, uložená funkce atd.) je výchozí databází databáze, ke které je rutina přidružena, což nemusí být nutně stejné jako databáze, která je výchozí v kontextu volání.

Synonymum

SCHEMA() funkce je synonymem pro DATABASE() funkce.


  1. Jak funguje Transaction_timestamp() v PostgreSQL

  2. Jak přejmenovat databázi SQL Server pomocí T-SQL

  3. Oracle:jak seskupit podle rozsahu?

  4. Je možné dotazovat se na tabulku stromové struktury v MySQL jedním dotazem do jakékoli hloubky?