Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Акин
Member

Откуда:
Сообщений: 7
как подсчиать количество таблиц в БД, вывести их названия и подсчитать количество столбцов вкаждой из таблиц?
27 мар 12, 16:50    [12321989]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
information_schema.tables
information_schema.columns
27 мар 12, 16:53    [12322013]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Акин
Member

Откуда:
Сообщений: 7
просто нужен такой скрипт, чтобы все эти условия выполнялись одновременно
27 мар 12, 21:17    [12323765]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
Акин
просто нужен такой скрипт, чтобы все эти условия выполнялись одновременно
И что у вас не получается, как пробовали?
27 мар 12, 21:41    [12323834]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Акин
Member

Откуда:
Сообщений: 7
alexeyvg,

честно говоря, не знаю даже как попробовать. я вообще в sql не сильно разбираюсь, но стоит такая задача.
могу посчитать отдельно таблицы, отдельно - столбцы, всё вместе, но только со строками. а со столбцами - ума не приложу.
27 мар 12, 21:44    [12323848]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
komrad
Member

Откуда:
Сообщений: 5735
Гавриленко Сергей Алексеевич
information_schema.tables
information_schema.columns

достаточно только второй
27 мар 12, 21:45    [12323853]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Акин
Member

Откуда:
Сообщений: 7
komrad
Гавриленко Сергей Алексеевич
information_schema.tables
information_schema.columns

достаточно только второй


а Вы не могли бы написать, как именно весь скрипт должен выглядеть? а то я делаю методом тыка, но ничего не получается
27 мар 12, 21:50    [12323874]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Акин
Member

Откуда:
Сообщений: 7
нашла такой скрипт:
SELECT COUNT(*) AS [table count]
FROM [sys].[tables] AS t

SELECT COUNT(*) AS [COLUMN COUNT],
[c].object_name
FROM [sys].[tables] AS t
INNER JOIN [sys].[columns] AS c ON [c].[object_name] = [t].[object_]
GROUP BY [c].[object_id]
всё отлично, но вместо id нужно чтобы было название таблицы, в которой подсчитываются строки. Не подскажете как это сделать?
27 мар 12, 22:06    [12323918]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Акин
но стоит такая задача.


И тот, кто поставил Вам такую задачу, огласил бюджет, который может быть потрачен на ее решение?
27 мар 12, 22:09    [12323925]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
Акин
всё отлично, но вместо id нужно чтобы было название таблицы, в которой подсчитываются строки. Не подскажете как это сделать?
Заменить id на name, как же ещё???

SELECT COUNT(*) AS [COLUMN COUNT],
 [t].name
FROM [sys].[tables] AS t
 INNER JOIN [sys].[columns] AS c ON [c].[object_id] = [t].[object_id]
GROUP BY [t].name
27 мар 12, 22:11    [12323930]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
pkarklin
Акин
но стоит такая задача.


И тот, кто поставил Вам такую задачу, огласил бюджет, который может быть потрачен на ее решение?
Препод, кто же ещё :-)
27 мар 12, 22:11    [12323933]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
select
 c.TABLE_CATALOG, c.TABLE_SCHEMA, t.TABLE_NAME,
 count(*) as ColumnsByTable,
 count(*) over () as TotalTables
from
 INFORMATION_SCHEMA.COLUMNS c join
 INFORMATION_SCHEMA.TABLES t on t.TABLE_CATALOG = c.TABLE_CATALOG and t.TABLE_SCHEMA = c.TABLE_SCHEMA and t.TABLE_NAME = c.TABLE_NAME
where
 t.TABLE_TYPE = 'Base table'
group by
 c.TABLE_CATALOG, c.TABLE_SCHEMA, t.TABLE_NAME;
 
27 мар 12, 22:13    [12323943]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Акин
Member

Откуда:
Сообщений: 7
вернее,

SELECT COUNT(*) AS [table count]
FROM [sys].[tables] AS t

SELECT COUNT(*) AS [COLUMN COUNT],
[c].object_id
FROM [sys].[tables] AS t
INNER JOIN [sys].[columns] AS c ON [c].[object_id] = [t].[object_id]
GROUP BY [c].[object_id]
всё отлично, но вместо id нужно чтобы было название таблицы, в которой подсчитываются строки. Не подскажете как это сделать?
27 мар 12, 22:17    [12323955]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Господа! Ну не надо... Ведь завтра же этот выпускник придет к вам с дипломом суппер-пупер специалиста по базам данных и будет требовать привилегий, как молодой специалист...
27 мар 12, 22:18    [12323959]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
pkarklin
Господа! Ну не надо... Ведь завтра же этот выпускник придет к вам с дипломом суппер-пупер специалиста по базам данных и будет требовать привилегий, как молодой специалист...
Спокойно. Он же через собеседование придет. ;)
27 мар 12, 22:20    [12323966]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
Акин
Member

Откуда:
Сообщений: 7
всем огромное спасибо, теперь всё работает)) очень благодарна)

pkarklin
Господа! Ну не надо... Ведь завтра же этот выпускник придет к вам с дипломом суппер-пупер специалиста по базам данных и будет требовать привилегий, как молодой специалист...


pkarklin, не волнуйтесь, у меня абсолютно иная специальность, конкуренции в даной сфере я никому не составлю)
27 мар 12, 22:24    [12323974]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
pkarklin
Господа! Ну не надо... Ведь завтра же этот выпускник придет к вам с дипломом суппер-пупер специалиста по базам данных и будет требовать привилегий, как молодой специалист...
Ну надо же еще квест под названием "Собеседование пройти", а там уже задачки совсем не такие :)
27 мар 12, 22:25    [12323978]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Акин
очень благодарна


Упс...
27 мар 12, 22:28    [12323983]     Ответить | Цитировать Сообщить модератору
 Re: как подсчиать количество таблиц в БД и количество столбцов вкаждой из таблиц?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
invm
pkarklin
Господа! Ну не надо... Ведь завтра же этот выпускник придет к вам с дипломом суппер-пупер специалиста по базам данных и будет требовать привилегий, как молодой специалист...
Ну надо же еще квест под названием "Собеседование пройти", а там уже задачки совсем не такие :)
Оба неправы.

Он заканчивает на менеджера и будет вас собеседовать :-) Вот, первый вопросик готов.
27 мар 12, 22:28    [12323986]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить