Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2012, 02:16   #1
tim21701
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 67
Восклицание Как в запросе к MySQL выбрать ВСЁ из ВСЕХ ТАБЛИЦ?

Подскажите, как сделать запрос к MySQL, что бы увидеть ВСЁ из ВСЕХ (доступных) ТАБЛИЦ?
tim21701 вне форума Ответить с цитированием
Старый 07.02.2012, 03:09   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Идем и читаем о кляузе JOIN
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 07.02.2012, 03:28   #3
tim21701
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 67
Плохо

Цитата:
Сообщение от rdama Посмотреть сообщение
Идем и читаем...
Я наверно не просто так обратился на форум за помощью в организации такого запроса, как Вы думаете? Зачем давать ссылки, я прочитал уже уйму "мануалов" но так и не понял - как это можно сделать... Поэтому и написал здесь, в надежде, что кто нибудь приведёт пример. А Ваша "умная" фраза и ссылка, только с толку сбивает... Сори, что многабукаф.
tim21701 вне форума Ответить с цитированием
Старый 07.02.2012, 08:37   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ответ формальный - укажите ручками в запросе все поля ВСЕХ таблиц (не забыв перечислить ВСЕ нужны таблицы), получите выборку ВСЕГО ИЗ ВСЕХ таблиц.

ответ реальный (практический) - НИКАК! Да и вопрос по сути - бессмысленный (в БД куча служебных таблиц, например).
я даже больше скажу - вам этого НЕ НАДО!
Переосмысливайте свои структуры данных - не должно быть таблиц с одинаковыми структурами для разным сущностей одного и того же объекта! Ну, грубо говоря, если вы делаете картотеку физ.лиц, то не должна быть отдельная таблица для Иванова И.И., отдельная для Сидорова А.А. и отдельная для Петрова А.Н.
Надеюсь, я достаточно внятно излагаю свою мысль?

Последний раз редактировалось Serge_Bliznykov; 07.02.2012 в 08:41.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.02.2012, 08:52   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Я наверно не просто так обратился на форум
Верно. Рассказывай зачем тебе это нужно.
Мне в свое время понадобилась подобная выборка чтоб найти значение и выяснить в какой оно таблице, однако я не делал выборку всего из всех, хотя и ходил циклом по всем таблицам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.02.2012, 14:28   #6
tim21701
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 67
По умолчанию

Ок, я понял мысль... Сам перечислял все таблицы, но потом остановился и подумал, что может быть есть способ попроще. Потому как, прописывать названия всех 98 таблиц из базы в запросе, мягко говоря "ненормально". ))))
Мне необходимо вывести все таблицы из одной базы (которую определил пользователь) и вывести их списком. На основе которых, можно сделать отчёт в FastReport...
Вот как это выглядит:
Имеем компоненты MyDAC для соединения с базой и отправки запроса, кидаем на форму TfrxReport и TfrxDesigner, по нажатию кнопки пишем код "frxreport1.designreport;". Всё. После этого, запускается "Дизайнер отчётов" из комплекта FastReport 4 и пользователь сам создаёт нужный ему отчет...
Вот только КАК вывести список всех таблиц из базы, ума не приложу...
На php все просто, выполнив команду "SHOW TABLES" получишь такой список, или вот например: "mysql> SHOW TABLES FROM databasename;".
А как с этим на Delphi? Подскажите, как быть? Что, действительно прописывать все 98 таблиц руками??? )))))

Последний раз редактировалось tim21701; 07.02.2012 в 14:35.
tim21701 вне форума Ответить с цитированием
Старый 07.02.2012, 15:00   #7
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Ну вот возьми и выполни SHOW TABLES. Это всего лишь запрос. А вообще посмотри в служебную БД которая зовется mysql.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 07.02.2012, 15:06   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а кто мешает в Delphi выполнить запрос (в xxxQuery) c текстом 'Show tables' ?

ну, или так:
Цитата:
Код:
mysql> SELECT table_name, table_type, engine
    -> FROM information_schema.tables
    -> WHERE table_schema = 'db5'
    -> ORDER BY table_name DESC;

INFORMATION_SCHEMA
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.02.2012, 15:13   #9
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

А при использовании MyDAC возможности вообще неограничены
Имена таблиц
Код:
MyConnection1.GetTableNames(ListBox1.Items, True);
Имена полей
Код:
MyQuery1.GetFieldNames(ListBox2.Items);
и т.д.
_SERGEYX_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать запрос к MySQL не зная префикс таблиц? tim21701 БД в Delphi 6 29.01.2012 07:44
Как выбрать данные из 3х таблиц? Толя123 SQL, базы данных 0 14.12.2011 16:01
как выбрать несовпадающие данные из двух таблиц Tatu Microsoft Office Access 2 16.03.2010 20:41
Как убрать такую розовую полосу из браузера,причём я уже всё перепробовал и она отображается во всех брау DartWayder HTML и CSS 1 22.05.2009 19:53
Как оптимизировать запрос MySQL с выборкой из двух таблиц. Johnatan SQL, базы данных 6 13.04.2008 03:10