Конвертер SQL в Excel и Excel в SQL
Инструкция по использованию модуля "SQL ↔ Excel Converter"
Этот модуль — мощный инструмент для массового управления базой данных. Он позволяет выгружать данные (включая множество таблиц одновременно), редактировать их в Excel с сохранением связей между таблицами и загружать обратно.
Ключевые возможности:
- Поддержка нескольких таблиц в одном файле (каждая таблица на отдельном листе Excel).
- Умные связи: При экспорте модуль создает формулы в Excel, связывая ID с реальными строками на других листах (например, связь категории с материалом).
- Массовая обработка: Оптимизирован для работы с большими файлами.
Часть 1: Экспорт данных из Базы в Excel (SQL → Excel)
Выгружаем данные из базы, чтобы получить удобный Excel-файл со связями.
Шаг 1: Экспорт таблиц из базы данных (через phpMyAdmin)
- Зайдите в панель управления хостингом и откройте phpMyAdmin.
- Выберите базу данных вашего сайта.
-
Выбор таблиц:
- Вы можете экспортировать одну таблицу (например,
#__content). - Или выбрать несколько связанных таблиц сразу (например,
#__content,#__categoriesи#__users). Модуль разнесет их по разным вкладкам в Excel.
- Вы можете экспортировать одну таблицу (например,
- Нажмите кнопку "Экспорт" в верхнем меню.
-
Настройки экспорта:
- Метод: "Быстрый" обычно подходит.
- Формат: SQL.
- Нажмите "Вперед" (Go), чтобы скачать
.sqlфайл.
Шаг 2: Конвертация SQL-файла в Excel
- Откройте страницу с модулем "SQL ↔ Excel Converter".
- Тип конвертации: Выберите "SQL в Excel".
- SQL-файл: Выберите файл, скачанный на Шаге 1.
-
Настройка связей (Mapping):
После выбора файла модуль проанализирует его и покажет блок "Настройка связей".
- Скрипт попытается автоматически определить связи (например, что поле
catidссылается на таблицуcategories). - Вы увидите список: Поле -> Целевая таблица | Целевой столбец.
- Если автоматика ошиблась или не нашла связь, вы можете вручную выбрать нужную таблицу и столбец из выпадающих списков. Это создаст кликабельные формулы-ссылки в Excel.
- Скрипт попытается автоматически определить связи (например, что поле
- JSON экранирование: Рекомендуется оставить выключенным для удобства чтения JSON-данных в ячейках.
- Нажмите кнопку "Отправить". Браузер скачает файл
.xlsx.
Часть 2: Редактирование данных в Excel
Шаг 3: Работа с данными
- Откройте файл в Excel. Внизу вы увидите вкладки (листы), соответствующие вашим таблицам.
-
Работа со связями (Формулы):
В ячейках, которые ссылаются на другие таблицы (например,catid), вы увидите не просто число, а формулу вида='jos_categories'!A5.- Это позволяет Excel "тянуть" актуальный ID с другого листа.
- Если вы измените ID категории на листе категорий, он автоматически обновится во всех материалах.
- При добавлении новых строк вы можете копировать эти формулы или вписывать просто числовые ID вручную — модуль поймет и то, и другое.
Правила безопасности при редактировании:
- Не меняйте название вкладок (листов)! При обратном импорте имя листа используется как имя таблицы в базе данных.
- Не меняйте названия столбцов (заголовков) в первой строке.
- NULL и Пустота:
- Пустая ячейка = пустая строка
''(по умолчанию). - Слово NULL = значение
NULLв базе данных.
- Пустая ячейка = пустая строка
Часть 3: Импорт данных из Excel в Базу (Excel → SQL)
Загружаем изменения обратно на сайт.
Шаг 4: Конвертация Excel-файла в SQL
- Вернитесь в модуль. Выберите тип "Excel в SQL".
- Excel-файл: Загрузите ваш отредактированный файл.
-
Имя таблицы и Ключи:
- Модуль автоматически определит имя таблицы по названию вкладки Excel.
- Модуль сам найдет столбец
id(первичный ключ).
-
Опция "Перезаписывать (INSERT ... ON DUPLICATE KEY UPDATE)":
- Включено (рекомендуется): Обновляет существующие записи по ID и добавляет новые.
-
Обработка пустых значений:
Модуль покажет список столбцов, где найдены пустые ячейки. Вы можете для каждого столбца выбрать, как трактовать пустоту: какNULLили как пустую строку''. - Нажмите "Отправить" для получения SQL-файла.
Шаг 5: Финальный импорт
!!! ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ ПЕРЕД ИМПОРТОМ !!!
- В phpMyAdmin выберите вашу базу.
- Перейдите на вкладку "Импорт".
- Загрузите полученный
.sqlфайл. - Нажмите "Вперед".
Данные из всех листов Excel будут применены к соответствующим таблицам базы данных.