Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Просьба к знатокам MySQL
Новая тема
Ответить
цитата
27/01/14 в 01:53
S_Flash
Подскажите запрос, который поможет во всех таблицах базы найти вхождение подстроки и вывести как результат список таблиц, в которых данное вхождение было?
Прокатит ли подобный поиск при наличии рута к мускулю по всем базам сервера?!
Было бы намного продуктивнее!
цитата
27/01/14 в 08:39
JM
в пхпадмине вероятно прокатит, но там несколько запросов он лепит...
т.ч. тут нужен минимум скрипт )
цитата
27/01/14 в 10:46
Alexandur
Смотри в сторону information_schema
http://club.shelek.ru/viewart.php?id=319
цитата
27/01/14 в 12:34
Stek
В данных искать ? Тогда только скрипт, что бы перебрать все базы и таблицы.
цитата
27/01/14 в 13:49
S_Flash
gimcnuk:
привёл конечно бомобовскую статью.. Хитрость там через information_schema и можно одним махом. Но там такой страшный скрипт\запрос, что я пока не решаюсь его запустить! Даже не пойму куда там вставить поисковую строку.
Хотя респект, ибо автор копает именно в ту сторону, куда надо мне.
цитата
27/01/14 в 15:26
Alexandur
S_Flash писал:
gimcnuk:
привёл конечно бомобовскую статью.. Хитрость там через information_schema и можно одним махом. Но там такой страшный скрипт\запрос, что я пока не решаюсь его запустить! Даже не пойму куда там вставить поисковую строку.
Хотя респект, ибо автор копает именно в ту сторону, куда надо мне.
Там не одним махом, а двумя.
Сначала делается выборка подходящих по типу полей во всех таблицах, чтобы искать в текстовых и чаровских. Она генерирует подходящий запрос, и уже он выдаёт нужное.
Строку ставить в LIKE "%test%" вместо теста.
цитата
27/01/14 в 15:49
S_Flash
gimcnuk:
там в конце есть "Автоматизация выполнения.", а потом "Вдогонку." (отредактированный окончательно)
Как я понял это полный код, который в себе совмещает и выборку и поиск одновременно. Но я такого кода на мускуле ещё в жизни не видел! Прям баш какой-то..
цитата
29/01/14 в 13:42
Alexs
быстро найти все вхождения не куря базы можно так
1)делаем дамп базы
2) grep "подстрока" damp_database.sql
выявив нужные таблицы, можно спокойно написать запрос
цитата
29/01/14 в 17:26
Stek
Вот только в дампе часть информации будет отображена совсем иначе, чем при выводе из базы.
цитата
30/01/14 в 16:36
dm
что-то все примеры выдают
Empty set (0.00 sec)
на
mysql Ver 14.14 Distrib 5.1.71, for portbld-freebsd8.3 (amd64) using 5.2
mysql Ver 14.14 Distrib 5.5.34, for debian-linux-gnu (i686) using readline 6.2
больше не пробовал
а вживую нам пример покажут ?
цитата
30/01/14 в 18:56
Stek
Примеры только создают процедуру. Ее далее надо еще и вызвать.
call find_overall('DB_NAME','search_string')
где вместо:
DB_NAME - имя базы данных
search_string - строка поиска
Пробовал только последний пример, он точно работает.
цитата
30/01/14 в 19:12
S_Flash
О респект,
Stek:
!
Теперь вроде дошло.
А код в примере для генерации процедуры на баше?
цитата
30/01/14 в 20:55
Stek
S_Flash писал:
А код в примере для генерации процедуры на баше?
Нет, это это все SQL. Х.з. правда как правильно называется, но в базах можно не только выборку по данным делать, но и часть логики приложений хранить. Например при удалении одной записи, пройтись по связанным, уменьшить счетчик и т.п.
цитата
30/01/14 в 21:40
Mika
Хранимые процедуры это называется.
http://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D 1%80%D1%8B
цитата
30/01/14 в 22:12
Stek
Mika:
по твоей же ссылке
Цитата:
MySQL достаточно близко следует стандарту SQL:2003, её язык похож на SQL/PL.
Так что как этот язык (а не процедура) называется, даже wiki не знает
Новая тема
Ответить
Эта страница в полной версии