Выполнить схему / имя db изнутри? [Дубликат]

Я выполнил горизонтальный / вертикальный поиск (сначала сделайте div, полный вертикальных линий, расположенных горизонтально, затем сделайте div, полный горизонтальных линий, расположенных вертикально, и просто посмотрите, какой из них имеет состояние зависания), как идея Тима Дауна выше, и он работает довольно быстро. К сожалению, не работает на Chrome 32 в KDE.

jsfiddle.net/5XzeE/4 /

162
задан phs 24 July 2012 в 06:56
поделиться

8 ответов

Просто используйте mysql_query (или mysqli_query, еще лучше, или используйте PDO, лучше всего) с помощью:

SELECT DATABASE() FROM DUAL;

Добавление:

следует ли включать или нет FROM DUAL в это или нет. На техническом уровне это отрыв от Oracle и может быть безопасно удален. Если вы наклонены, вы можете использовать следующее:

SELECT DATABASE();

Тем не менее, возможно, важно отметить, что, хотя FROM DUAL фактически не делает ничего, это действительный синтаксис MySQL. С строгой точки зрения, включая фигурные скобки в одной строке, определенные в JavaScript, также ничего не делает , но это по-прежнему действительная практика.

244
ответ дан cwallenpoole 15 August 2018 в 17:28
поделиться
  • 1
    select database() работал над своим, что FROM DUAL? – Mike Purcell 11 November 2011 в 18:00
  • 2
    DUAL - это таблица Oracle, которая перешла в MySQL. Это фиктивная таблица для операций, для которых не требуется фактическая таблица. en.wikipedia.org/wiki/DUAL_table – Jan Thomä 11 November 2011 в 18:03
  • 3
    @DigitalPrecision Это отрыв от того факта, что я много работал с Oracle. Oracle не позволяет вам выбирать, если это не из , поэтому есть специальная таблица под названием «DUAL». который имеет только одну ячейку в нем. Вы можете опустить это. – cwallenpoole 11 November 2011 в 18:09
  • 4
    Вероятно, следует отредактировать это, сохранив существующий ответ для потомков, но добавив SELECT DATABASE(); в качестве "фактического" ответ. – User 19 August 2014 в 03:53
  • 5
    @PardeepJain, который находится за пределами моей области знаний, может быть, cwallenpoole может ответить на это. – Jan Thomä 26 February 2018 в 08:32

SELECT DATABASE() работал в PHPMyAdmin.

0
ответ дан Ast Derek 15 August 2018 в 17:28
поделиться
  • 1
    Это более или менее просто повторение существующих ответов. – Pang 28 February 2017 в 07:03
  • 2
    может быть действительным комментарием к любому действительному ответу :) – Pardeep Jain 22 February 2018 в 11:30
SELECT DATABASE();

p.s. Я не хотел брать на себя смелость модифицировать ответ @ cwallenpoole, чтобы отразить тот факт, что это вопрос MySQL, а не вопрос Oracle и не нужен DUAL.

70
ответ дан Elijah Lynn 15 August 2018 в 17:28
поделиться
  • 1
    Старые привычки умирают с трудом. I еще иногда думают «FROM DUAL». хотя я не касался Oracle с 2011 года. – cwallenpoole 20 August 2014 в 03:33
  • 2
    Ага. Все еще думая FROM DUAL , хотя я не касался Oracle с 2011 года. – cwallenpoole 12 May 2016 в 03:18
  • 3
    Это я снова ... Все еще думая об этом. – cwallenpoole 7 July 2017 в 14:16
  • 4
    @cwallenpoole, вы все еще думаете об этом? – Farhan.K 24 January 2018 в 19:11
  • 5
    @ Farhan.K Да. Справедливости ради, я считаю, что это одна из немногих вещей, которые Oracle сделал лучше синтаксически, чем другие RDMS. – cwallenpoole 24 January 2018 в 19:42

В комментариях к http://www.php.net/manual/de/function.mysql-db-name.php я нашел этот файл из ericpp% bigfoot.com:

Если вам просто нужно имя текущей базы данных, вы можете использовать команду SELECT DATABASE () MySQL:

<?php
function mysql_current_db() {
    $r = mysql_query("SELECT DATABASE()") or die(mysql_error());
    return mysql_result($r,0);
}
?>
9
ответ дан Jan Thomä 15 August 2018 в 17:28
поделиться
  • 1
    Поскольку OP использовал функцию PHP & quot; mysql_select_db & quot; и просит PHP. Вы действительно прочитали вопрос? – Jan Thomä 19 March 2015 в 15:35
  • 2
    Спасибо, да, изначально я попросил PHP-специфический ответ, если бы был метод, подобный mysql_current_db или что-то в этом роде. Кто-то отредактировал его, чтобы удалить & quot; php & quot; из названия и тегов – andrewtweber 9 October 2015 в 16:51

немного не по теме (с использованием CLI вместо PHP), но все же стоит знать: вы можете установить приглашение для отображения базы данных по умолчанию, используя любой из следующих

mysql --prompt='\d> '
export MYSQL_PS1='\d> '

или один раз внутри

prompt \d>\_
\R \d>\_
0
ответ дан Jeff 15 August 2018 в 17:28
поделиться

Вы всегда можете использовать команду STATUS, чтобы узнать текущую базу данных и amp; Текущий пользователь

32
ответ дан Mogli 15 August 2018 в 17:28
поделиться
  • 1
    спасибо за это короткое решение типа;) – tibi 16 May 2017 в 14:53
  • 2
    хотя и не отражен в выводе выше, в моей системе он также показывает порт TCP, который мне удобен, так как я запускаю mysqld_multi, и мне нравится напоминать себе, с каким экземпляром я разговариваю. – Jeff 28 May 2018 в 20:30

Я знаю, что этот пост довольно старый. Я просто оставляю его здесь, если новоприбыль нуждается в некоторой помощи для фильтрации базы данных определенным словом.

SHOW DATABASES WHERE `Database` LIKE '<yourDatabasePrefixHere>%'
or
SHOW DATABASES LIKE '<yourDatabasePrefixHere>%';

Пример:

SHOW DATABASES WHERE `Database` LIKE 'foobar%'
foobar_animal
foobar_humans_gender
foobar_objects
0
ответ дан TheHive 15 August 2018 в 17:28
поделиться
@mysql_result(mysql_query("SELECT DATABASE();"),0)

Если база данных не выбрана или соединение отсутствует, она возвращает NULL в противном случае имя выбранной базы данных.

2
ответ дан user 15 August 2018 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: