Получить глобальный статус mysql без ввода mysql [duplicate]

Проблема в том, что желаемое решение настаивает на использовании групп захвата. C ++ предоставляет инструмент regex_token_iterator , чтобы лучше обрабатывать это (пример C ++ 11):

  #include & lt; iostream & gt;  #include & lt; string & gt;  #include & lt; regex & gt;  использование пространства имен std;  int main () {std :: regex e (R "((?: ^ - Числа)? \ s * (\ d +))");  ввод строки;  while (getline (cin, input)) {std :: regex_token_iterator & lt; std :: string :: iterator & gt;  a {input.begin (), input.end (), e, 1, regex_constants :: match_continuous};  станд :: regex_token_iterator & Lt; станд :: строка :: итератор & GT;  конец;  в то время как (a! = конец) {cout & lt;  & lt;  "-";  ++ а;  } cout & lt;  '\n';  } return 0;  }  

https://wandbox.org/permlink/TzVEqykXP1eYdo1c

83
задан Matthew 21 October 2009 в 20:00
поделиться

6 ответов

  mysql -u & lt; user & gt;  -p -e "select * from schema.table"  
139
ответ дан RC. 15 August 2018 в 21:09
поделиться
  • 1
    C: \ Program Files (x86) \ MySQL \ MySQL Server 5.7 \ bin & gt; mysql.exe -u root -p -e & quot; мой запрос & quot; ---- & gt; ERROR 1045 (28000): доступ запрещен для пользователя root '@' localhost '(используя пароль: YES) – Mr.Hyde 12 March 2017 в 12:38
  • 2
    Это должно быть первым результатом поиска google (для «mysql exec sql из командной строки»), а не для огромного сайта mysql! – Guillaume Bois 4 April 2017 в 17:48
  • 3
    Я не знаю, почему, но двойные кавычки не работали для меня, приходилось превращать их в одинарные кавычки – tinybyte 27 April 2017 в 08:19
  • 4
    Кроме того, если вы хотите удалить формат заголовка и таблицы, вы можете использовать mysql -u & lt; user & gt; -p -B --disable-column-names -e 'select * from schema.table' – dvlcube 11 October 2017 в 18:40
  • 5
    @tinybyte Предполагая, что Linux: Insinde doublequotes asterisk * получает расширение для всех файлов в текущем каталоге, в то время как это расширение не происходит в singlequotes, вот почему. Doublequotes будет работать для quiesries без * . – NobbZ 3 April 2018 в 07:39

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

  mysql & lt;  thefile  

(со всеми флажками входа и базы данных, конечно)

6
ответ дан dnagirl 15 August 2018 в 21:09
поделиться
  mysql -uroot -p -hslavedb.mydomain.com mydb_production -e «выберите * у пользователей»;   

Из распечатки использования:

-e , - execute = name Выполнить команду и бросить курить. (Отключает - force и файл истории)

14
ответ дан John Kugelman 15 August 2018 в 21:09
поделиться
  echo "select * from users;"  |  mysql -uroot -p -hslavedb.mydomain.com mydb_production  
3
ответ дан Oct 15 August 2018 в 21:09
поделиться

После входа в mysql на CLI:

  выберите * из базы данных.table;   

Введите нужную базу данных и таблицу. Или:

  база данных USE;  SELECT * FROM table;   
-1
ответ дан Ryan Jarvis 15 August 2018 в 21:09
поделиться
  • 1
    Я думаю, что OP хочет запустить его inline вместо консольного режима, чтобы сделать какой-то скрипт, который, как мне кажется – sebadagostino 3 July 2018 в 17:55

вот как вы можете сделать это с помощью трюка с оболочкой:

  mysql -uroot -p -hslavedb.mydomain.com mydb_production & lt; & lt;  'select * from users'  

'& lt; & lt; & lt; инструктирует оболочку брать все, что следует за ней, как stdin, подобно каналу из эха.

использовать флаг -t для включения вывода в виде табличного формата

5
ответ дан ʞɔıu 15 August 2018 в 21:09
поделиться
Другие вопросы по тегам:

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