Как сохранить результат запроса sql в файл
сохранение результата запроса в файл
Иногда необходимо сохранить результаты запроса во внешний файл.
Это можно сделать, добавив INTO OUTFILE
к запросу SELECT
.
Подробнее тут>>>.
Например:
MariaDB [rtfm_db1]> SELECT option_name FROM db1_options WHERE option_name LIKE '_transient_timeout%' INTO OUTFILE '/tmp/transient_timeout.txt'; Query OK, 20 rows affected (0.09 sec)
Проверяем:
$ head /tmp/transient_timeout.txt _transient_timeout_dash_4077549d03da2e451c8b5f002294ff51 _transient_timeout_dynamic_to_top_transient_css _transient_timeout_feed_08a9370cca8e4bda25c11f8557e93830 _transient_timeout_feed_867bd5c64f85878d03a060509cd2f92c _transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca
Можно так же использовать раздели полей и строк, например:
MariaDB [rtfm_db1]> SELECT option_name FROM db1_options WHERE option_name LIKE '_transient_timeout%' INTO OUTFILE '/tmp/transient_timeout.txt' fields terminated by ',' enclosed by '"' lines terminated by 'n'; Query OK, 20 rows affected (0.00 sec)
В случае ошибки вида:
ERROR 1 (HY000): Can’t create/write to file ‘/home/setevoy/transient_timeout.txt’ (Errcode: 13)
Убедитесь, что у пользователя mysql
есть права на доступ к каталогу и файлу для чтения/записи.
Раздел: HOWTO's MySQL/MariaDB Метки: MySQL/MariaDB
Экспортировать результат запроса в.csv-файл в SQL Server 2008
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:\;HDR=YES;FMT=Delimited','SELECT * FROM [FileName.csv]') SELECT Field1, Field2, Field3 FROM DatabaseName
Как @ Slogmeister Extraordinaire цитируется правильно.
нужно иметь 1 > файл уже присутствует со столбцами 2 > Один должен иметь установленный офис
ошибки перед
Msg 7303, Уровень 16, Состояние 1, Линия 1 Не удается инициализировать объект источника данных поставщика OLE DB " Microsoft.ТУЗ.Oledb для.12.0" для связанного сервера "(null)"."
64 немного http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe
32 бит http://download.microsoft.com/download/f/d/8/fd8c20d8-e38a-48b6-8691-542403b91da1/AccessDatabaseEngine.exe
Msg 15281, Уровень 16, Состояние 1, Строка 1 SQL Server заблокировал доступ к инструкции "OpenRowset / OpenDatasource "компонента" нерегламентированные распределенные запросы", так как этот компонент включен как часть настройки безопасности для этого сервера. Системный администратор может включить использование специальных распределенных запросов, с помощью процедуры sp_configure. Для получения дополнительных сведений о включении "нерегламентированных распределенных запросов" выполните поиск "нерегламентированных распределенных запросов" в электронной документации по SQL Server.
EXEC sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC sp_configure 'ad hoc distributed queries', 0 RECONFIGURE GO
Экспорт результата запроса.csv-файл в SQL Server 2008
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:\;HDR=YES;FMT=Delimited','SELECT * FROM [FileName.csv]') SELECT Field1, Field2, Field3 FROM DatabaseName
как цитируется @ Slogmeister Extraordinaire правильно.
нужно иметь 1 > файл уже присутствует со столбцами 2 > необходимо установить Office
ошибки перед
Msg 7303, Уровень 16, Состояние 1, Строка 1 Не удается инициализировать объект источника данных поставщика OLE DB " Microsoft.ТУЗ.Oledb для.12.0" для связанного сервера "(null)"."
64 немного http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe
32 бит http://download.microsoft.com/download/f/d/8/fd8c20d8-e38a-48b6-8691-542403b91da1/AccessDatabaseEngine.exe
Msg 15281, Уровень 16, Состояние 1, Строка 1 SQL Server заблокировал доступ к инструкции OpenRowset / OpenDatasource компонента Ad Hoc Distributed Queries, так как этот компонент включен как часть настройки безопасности для этого сервера. Системный администратор может включить использование специальных распределенных запросов, с помощью процедуры sp_configure. Дополнительные сведения о включении "специальных распределенных запросов" см. В разделе "Специальные распределенные запросы" в электронной документации по SQL Server.
EXEC sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC sp_configure 'ad hoc distributed queries', 0 RECONFIGURE GO
Сохранение результатов с заголовками в Sql Server Management Studio
Вопрос:
Я использую SQL Server Management Studio.
Я хочу сохранить результаты запроса в файл excel.
Я выбираю «сохранить как», а затем сохраняю файл CSV, который я могу открыть в excel. Все хорошо, за исключением того, что мне не хватает заголовков столбцов, любые идеи, как я их экспортировал?
Лучший ответ:
Tools
> Options
> Query Results
> SQL Server
> Results to Text (or Grid if you want)
> Include columns headers in the result set
Возможно, вам придется закрыть и снова открыть SSMS после изменения этой опции.
На панели инструментов редактора SQL вы можете выбрать сохранить в файл без перезапуска SSMS
Ответ №1
Ответ №2
Другая возможность — использовать буфер обмена для копирования и вставки результатов непосредственно в Excel. Просто будьте осторожны с столбцами Excel общего типа, поскольку они могут иногда иметь непредсказуемые результаты в зависимости от ваших данных. CTL-A
в любом месте сетки результатов, а затем щелкните правой кнопкой мыши:
Ответ №3
По крайней мере, в SQL Server 2012 вы можете щелкнуть правой кнопкой мыши в окне запроса и выбрать «Параметры запроса». Оттуда вы можете выбрать заголовок «Включить заголовки» для сетки и/или текста и сохранить работу «Сохранить как» так, как вы хотите, без перезапуска SSMS.
Вам все равно нужно изменить его в Tools- > Options в строке меню, чтобы новые окна запросов использовали эти настройки по умолчанию.
Ответ №4
Та же проблема существует и в Visual Studio, здесь, как ее исправить:
Перейдите к:
Tools > Options > SQL Server Tools > Transact-SQL Editor > Query Results > Results To Grid
Теперь установите флажок в поле «: Включить заголовки столбцов при копировании или сохранении результатов»
Ответ №5
Выберите результаты, нажав в верхнем левом углу, щелкните правой кнопкой мыши и выберите «Копировать с заголовками». Вставить в Excel. Готово!
Ответ №6
Попал сюда, когда искал способ заставить SSMS правильно экранировать разделители CSV при экспорте результатов.
Угадай, что? — это на самом деле вариант, и по умолчанию он не отмечен. Таким образом, по умолчанию вы получаете испорченные файлы CSV (и, возможно, даже не понимаете этого, особенно если объем экспорта большой, а данные обычно не имеют запятых), — и вам нужно установить флажок, чтобы экспортировать CSV. правильно!
Для меня это кажется монументально глупым выбором дизайна и метафорой подходящего подхода Microsoft к программному обеспечению в целом («нарушенный по умолчанию, требуются бессмысленные ритуальные действия, чтобы заставить работать тривиальную функциональность»).
Но я с радостью пожертвую 100 долларов на благотворительность выбора респондентов, если кто-то может дать мне одну действительную реальную причину существования этого варианта (т.е. Фактический сценарий, где он был полезен).
Ответ №7
В SQL Server 2014 Management Studio параметр имеет следующий вид:
Инструменты> Параметры> Результаты запроса> SQL Server> Результаты в текст> Включить заголовки столбцов в набор результатов.
Ответ №8
Параметры, которые рекомендовалось изменить в принятом ответе @Diego, могут быть полезны, если вы хотите установить этот параметр постоянно для всех будущих сеансов запросов, которые вы открываете в SQL Server Management Studio (SSMS). Обычно это не тот случай. Кроме того, изменение этого параметра требует перезапуска приложения SQL Server Management Studio (SSMS), что не очень приятно, если у вас много несохраненных окон сеанса открытых запросов и вы находитесь в процессе отладки.
SQL Server дает очень удобную возможность изменять его для каждой сессии, что очень быстро, удобно и удобно. Я подробно описываю шаги ниже, используя окно параметров запроса:
- Щелкните правой кнопкой мыши в окне редактора запросов> Нажмите
Query Options...
в нижней части контекстного меню, как показано ниже:
- Выберите »
Results
> »Grid
в левой панели навигации. Установите флажокInclude column headers when copying or saving the results
в правой панели, как показано ниже:
Это. Ваш текущий сеанс будет учитывать ваши настройки с немедленным вступлением в силу без перезапуска SSMS. Кроме того, этот параметр не будет распространяться ни на один из будущих сеансов. Эффективное изменение этого параметра для каждого сеанса намного менее шумно.
Ответ №9
Я тоже сталкиваюсь с той же проблемой. Когда я использовал правую кнопку мыши в окне запроса и выберите Параметры запроса. Но строки заголовка не отображаются в выходном файле CSV.
Затем я выхожу из системы, снова захожу и запускаю скрипт. Тогда это сработало.
Экспорт результата запроса в CSV файл в SQL Server 2008
Вопрос:
Как экспортировать результат запроса в CSV файл в SQL Server 2008?
Лучший ответ:
- Откройте SQL Server Management Studio
- Перейдите в раздел «Инструменты» > «Параметры» > «Запрос».
Результаты > SQL Server > Результаты для текста - В крайнем правом углу есть капля
вниз с названием Формат вывода - Выберите «Заблокированные разделители» и нажмите «ОК»
Здесь полноэкранная версия этого изображения ниже
Это покажет ваши результаты запроса как текст с разделителями-запятыми.
Чтобы сохранить результаты запроса в файле: Ctrl + Shift + F
Ответ №1
Я знаю, что это немного устарело, но здесь намного проще…
-
Запустите запрос с настройками по умолчанию (помещает результаты в формат сетки, если вы не в формате сетки, см. ниже)
-
Щелкните правой кнопкой мыши на результатах сетки и нажмите «Сохранить результаты как» и сохраните ее.
Если ваши результаты не в формате сетки, щелкните правой кнопкой мыши, где вы пишете запрос, наведите «Результаты на» и нажмите «Результаты в сетку»
Удачи!
Ответ №2
Вы можете использовать PowerShell
$AttachmentPath = "CV File location"
$QueryFmt= "Query"
Invoke-Sqlcmd -ServerInstance Server -Database DBName -Query $QueryFmt | Export-CSV $AttachmentPath
Ответ №3
Если рассматриваемая база данных является локальной, следующий способ, вероятно, является наиболее надежным способом экспорта результата запроса в файл CSV (т.е. предоставляя вам максимальный контроль).
- Скопируйте запрос.
- В обозревателе объектов щелкните правой кнопкой мыши соответствующую базу данных.
- Выберите «Задачи» >> «Экспорт данных…»
- Настройте источник данных и нажмите «Далее».
- Выберите «Плоский файл» или «Microsoft Excel» в качестве места назначения.
- Укажите путь к файлу.
- Если вы работаете с плоским файлом, настройте его по желанию. При работе с Microsoft Excel выберите «Excel 2007» (в предыдущих версиях ограничение строки составляло 64 КБ)
- Выберите «Написать запрос, чтобы указать данные для передачи»
- Вставьте запрос из шага 1.
- Нажмите Далее >> Просмотреть сопоставления >> Нажмите Далее >> выберите «Выполнить немедленно» >> Дважды нажмите «Готово».
После исчерпывающего прохождения этого процесса я обнаружил, что лучшим вариантом будет следующее
Скрипт PowerShell
$dbname = "**YOUR_DB_NAME_WITHOUT_STARS**"
$AttachmentPath = "c:\\export.csv"
$QueryFmt= @"
**YOUR_QUERY_WITHOUT_STARS**
"@
Invoke-Sqlcmd -ServerInstance **SERVER_NAME_WITHOUT_STARS** -Database $dbname -Query $QueryFmt | Export-CSV $AttachmentPath -NoTypeInformation
Запустить PowerShell от имени администратора
& "c:\path_to_your_ps1_file.ps1"
Ответ №4
Основываясь на ответе NS, у меня есть PowerShell script, который экспортируется в файл CSV с метками кавычек вокруг поля и разделен запятыми и он пропускает информацию заголовка в файле.
add-pssnapin sqlserverprovidersnapin100
add-pssnapin sqlservercmdletsnapin100
$qry = @"
Select
*
From
tablename
"@
Invoke-Sqlcmd -ServerInstance Server -Database DBName -Query $qry | convertto-CSV -notype | select -skip 1 > "full path and filename.csv"
Первые две строки позволяют использовать команду Invoke-SqlCmd.
Ответ №5
Используйте T-SQL:
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:\;HDR=YES;FMT=Delimited','SELECT * FROM [FileName.csv]')
SELECT Field1, Field2, Field3 FROM DatabaseName
Но есть несколько предостережений:
-
Вам необходим поставщик Microsoft.ACE.OLEDB.12.0. Поставщик Jet 4.0 тоже будет работать, но он древний, поэтому я использовал этот вариант вместо этого.
-
Файл .CSV должен будет существовать уже. Если вы используете заголовки (
HDR=YES
), убедитесь, что первая строка файла .CSV представляет собой список с разделителями всех полей.
Ответ №6
MS Excel → Данные → Новый запрос → Из базы данных. Следуйте инструкциям
Ответ №7
Использование встроенной технологии SQL Server Management Studio для экспорта в CSV (как предлагается @8kb) не работает, если ваши значения содержат запятые, потому что SSMS не переносит значения в двойные кавычки. Более надежный способ, который работал у меня, — просто скопировать результаты (щелкнуть внутри сетки, а затем CTRL-A, CTRL-C) и вставить ее в Excel. Затем сохраните CSV файл из Excel.
Ответ №8
Вы можете использовать QueryToDoc (http://www.querytodoc.com). Он позволяет вам писать запрос к базе данных SQL и экспортировать результаты — после выбора разделителя — в Excel, Word, HTML или CSV
Ответ №9
Если вы не хотите использовать Powershell, этот ответ является вариацией на 8kb отличный ответ. Единственное различие заключается в том, что вместо выбора CSV в качестве выходного формата выберите «Разграничить табуляцию». Таким образом, если в ваших данных есть запятые, они не будут пропускать ячейки в Excel. Кроме того, если у вас установлен разделитель Excel по умолчанию для вкладок, вы можете просто сделать копию всех результатов запроса SSMS (CTRL-A, CTRL-C) и вставить в Excel (нет необходимости сохранять в виде файла и импортировать в Excel ):
- В SSMS Перейдите в Инструменты > Параметры > Результаты запросa > SQL Server > Результаты для текста
- Измените формат вывода справа на Разграничение табуляции
- Нажмите «ОК»
Теперь вы можете выполнить свой запрос, затем выполнить CTRL-A, чтобы выбрать все результаты, затем CTRL-C, чтобы скопировать в буфер обмена, затем переключиться на Excel 2013 (может работать и в 2007 году, не уверен) и вставить — при условии, что разделитель по умолчанию Excel установлен на вкладку.
Изображение экрана параметров запроса SSMS
Ответ №10
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:\;HDR=YES;FMT=Delimited','SELECT * FROM [FileName.csv]')
SELECT Field1, Field2, Field3 FROM DatabaseName
как @Slogmeister Extraordinaire Котировка верна.
Нужно иметь
1 > Файл уже присутствует с колонками
2 > Необходимо установить Office
Ошибки, с которыми столкнулись
1
Msg 7303, уровень 16, состояние 1, строка 1
Не удается инициализировать объект источника данных поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)». «
64 бит
http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe
32 бит
http://download.microsoft.com/download/f/d/8/fd8c20d8-e38a-48b6-8691-542403b91da1/AccessDatabaseEngine.exe
2
Msg 15281, уровень 16, состояние 1, строка 1
SQL Server заблокировал доступ к STARTEMENT ‘OpenRowset/OpenDatasource’ компонента ‘Ad Hoc Distributed Queries’, потому что этот компонент отключен как часть конфигурации безопасности для этого сервера. Системный администратор может включить использование «распределенных запросов» с помощью sp_configure. Для получения дополнительной информации о включении «Распределенных запросов по специальным запросам» выполните поиск «Специальные распределенные запросы» в электронной документации по SQL Server.
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 0
RECONFIGURE
GO
Ответ №11
Да, все это возможно, если у вас есть прямой доступ к серверам. Но что, если у вас есть только доступ к серверу с сервера веб-приложений? Ну, ситуация сложилась с нами задолго до того, и решение было SQL Экспорт сервера в CSV.
ImportExportDataSql — бесплатный конвертер данных MSSQL / Хабр
Введение
Очень часто возникает задача конвертации данных из одной БД в другую, из внешнего файла разного формата в БД и наоборот. При этом типы данных внутри БД могут быть не только текстовые, но и бинарные (binary или varbinary). Бинарные и текстовые данные, как известно, в SQL Server Management Studio обрезаются и не выводятся полностью. В связи с этими недостатками пришлось написать свое приложение для конвертации данных в/из MSSQL на языке C# (.NET Framework 4.0). Приложение называется ImportExportDataSql и изначально он создавался именно для конвертации из бинарных полей БД в файлы, но потом функционал расширялся. Приложение портативное, без рекламы и не требует доступа в Интернет.
Возможности приложения
- Результат SQL-запроса выборки данных генерит данные в SQL-формате с проверкой наличия записи в таблице по указанному пользователем условию WHERE
- Несколько результатов SQL-запросов объединяются в один файл, если пользователь укажет в разных задачах одинаковое имя выходного файла
- Все настройки хранятся в XML файле
- Возможность запуска из консоли
- Быстрая загрузка/выгрузка в БД при работе с CSV
- Возможность загружать Excel-файлы в двух режимах
- Выполняются только отмеченные задачи
- Задачи, выполненные с ошибками подсвечиваются красным цветом, а без ошибок — зеленым. Сообщение об ошибке при этом выводится не только в лог, но и в виде всплывающей подсказки напротив строки, где возникла ошибка
Интерфейс приложения
При запуске приложения необходимо соединиться с БД.
После успешного соединения с БД отображается список задач.
Типы задач
Сохранить из БД в файл
Конвертация полей бинарных типов данных из БД в файл. Этот пункт выбирать нужно тогда, когда файлы хранятся в БД в бинарном виде и нужно эти файлы выгрузить на диск. При этом можно настроить имя выгружаемого файла, его ID и поле бинарного типа с содержимым файла, задав эти поля оператором SQL.
Сохранить из БД в файл (утилитой bcp)
Данный тип задачи предусматривает использование утилиты bcp. Результатом данного типа задачи будет BAT-файл и файл форматирования (с расширением fmt). BAT-файл можно по желанию изменить, что повышает гибкость. После запуска BAT-файла в текущем каталоге будут созданы файлы, скопированные из БД.
Сохранить из файла в БД
Файлы из указанной пользователем папки будут загружены в указанную таблицу и поле.
Сохранить из БД в скрипт SQL
Данным способом можно загрузить один файл, либо папку целиком, либо только список указанных файлов, либо оператором в SQL-запросе. Если будет установлена галочка «Имена полей в условии UPDATE», то SQL-запрос на выходе будет формироваться с проверками на существование записи, согласно этим полям по условию INSERT и UPDATE. Если же галочка «Имена полей в условии UPDATE» снята, то запрос будет генерироваться только на вставку записи (INSERT) без проверок существования записи.
Пример выгрузки SQL-запроса:
Из БД в скрипт SQL (только INSERT)
В отличие от типа задачи «Сохранить из БД в скрипт SQL» этот вариант следует использовать для сокращения текста SQL-запроса в котором применяется только оператор INSERT. Отметка «Имена полей в условии UPDATE» работает аналогично, как описано выше: в типе задачи «Сохранить из БД в скрипт SQL».
Из БД в скрипт SQL (только UPDATE)
В отличие от типа задачи «Сохранить из БД в скрипт SQL» этот вариант следует использовать для сокращения текста SQL-запроса в котором применяется только оператор UPDATE. Отметка «Имена полей в условии UPDATE» работает аналогично, как описано выше: в типе задачи «Сохранить из БД в скрипт SQL».
Статический скрипт SQL
В случае, если нужно подготовить БД, прежде чем выполнить, например: вставку данных, то этот запрос будет выгружен без всяких изменений и добавлен в SQL-файл на выходе.
Сохранить из Excel в скрипт SQL
Преобразует данные из Excel в SQL-скрипт, при чем можно указать не только имя файла и имя листа, но еще и номер строки с которой начать считывание и номер последней обрабатываемой строки. Тип обработки Excel-файла «Поиск по заголовку» будет выполнять выгрузку с поиском текста заголовка, который укажет пользователь, последовательность полей при этом не важна и её можно менять. Тип обработки Excel-файла «Конвертировать все значения ячеек в таблицу» предполагает задание нескольких обязательных полей: Номер строки, номер столбца, значение ячейки и необязательных полей: имя листа и имя файла. Это может быть удобно, когда в системе есть одна универсальная таблица с обязательными полями, перечисленными выше и вся обработка этой таблицы происходит хранимой процедурой или приложением.
Сохранить из БД в CSV
Простая выгрузка данных из БД в CSV с символом-разделителем «точка с запятой» и обрамлением строк символом двойных кавычек.
Сохранить из CSV в SQL
Похожа на выгрузку из Excel, но более расширена за счет параметров «Символ-разделитель», Код кодировки, «Пустые значения заменять на NULL» и «Количество строк в блоке». Файлы обрабатываются построчно, даже если они заняты другим приложением. Результат обработки записывается в SQL-файл по-блокам.
Сохранить из CSV в БД
Выгрузка происходит напрямую в БД очень быстро, по-блокам, за счет использования класса BulkInsert. Большие CSV файлы (в несколько Гб) могут загружаться в БД за несколько минут.
Дальнейший список доработок
- Добавить функцию конвертации структуры БД, с проверкой существования объектов БД.
- Добавить теги к задачам и фильтр по тегам.
- Добавить возможность выбора формата SQL для генерации данных, чтобы можно было работать не только с MSSQL, но и с другими СУБД.
Вывод
Надеюсь, что это приложение поможет и Вам в работе. Выкладываю его в свободное пользование.
Скачать Windows приложение ImportExportDataSql (бесплатно)
Сообщество VK для поддержки пользователей и желающих пообщаться с автором.
sql server - как вернуть весь результат sql-запроса или вместо этого сохранить его в файл
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
sqlite - Как сохранить вывод SQL-запроса, запущенного из Osquery, в файл
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд
SQL Server: экспорт запроса в виде файла .txt
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
mysql - Сохранение SQL-запроса WRDS в файл на Python
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
R -RMySQL- как сохранить больше запросов sql в файл?
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
postgresql - Как запустить последовательность SQL-запросов и сохранить результаты?
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд