Mysql import/export

Экспорт БД через shell mysqldump -uroot -ppass base > dump.sql Импортировать данные из sql файла в mysql как известно можно несколькими путями. Первый вариант — закачать файл и через консоль обратится напрямую к демону для импортаmysql -uroot -ppass base < dump.sql

Замена данных одного ряда таблиц Mysql

В MySQL есть два расширения, которые позволяют атомарно вставить или обновить запись. Годятся они для штук с довольно высокой нагрузкой, когда без блокировок не работает типичный сценарий: Выбрать запись. Если выбралась — обновить. Если пусто — вставить.

Агрегирование выборки в MongoDB + PHP

MongoDB — очередное веяние моды в веб-разработке, когда хранение данных заранее планируется таким огромным, что необходимо их распределение на несколько серверов с помощью шардирования. Поизучаем же непростой синтаксис агрегирования данных в mongo + php

Список стран, ISO и международные данные

При разработке сайтов с международной аудиторией надо не только иметь списки стран и языков, но и учитывать их взаимосвязи, форматы, временные зоны. Я уже не говорю про трудности перевода и силлогизмы которые могут быть неправильно истолкованы публикой (например blue ? голубой). Но для простоты условимся что настала эпоха тотального глобализма […]

Системные таблицы в базах данных

Редко когда приходится делать перечисление всех таблиц, колонок, прав — при разработке это всё делает клиентская программа. Но когда разработка ведётся удалённо и вы не видите разниц в продублированных базах данных в принципе безопасности, то что-бы сдвинуться с мёртвой точки гадания в чём же дело, почему не поступают данные, надо […]

Межтабличный UPDATE

Редко когда, но всё же приходится делать в базе данных одиночные запросы по перемещению существующих данных из одной таблицы в другую. И если с добавлением рядов используя INSERT проблем возникает мало, то с обновлением существующих таблиц у меня возникла трудность. А именно — была старая таблица Invision Powerboard форума, и имелась новая […]

Удаление дубликатов в Mysql

Очень часто всплывает тема поиска дубликатов в таблицах, особенно когда надо установить UNIQUE constraint. Всегда можно обойтись таким запросом.. SELECT login, COUNT(login) AS cnt FROM sys_users GROUP BY login HAVING ( COUNT(login) > 1 ) И теперь..

Введение в Foreign keys

Foreign keys это движущая сила реляционных БД. Выборка по нескольким таблицам по прежнему формируется при помощи JOIN-конструкций, но FK создаёт логические связи между таблицами, понятные человеку. Очень полезно в больших проектах, где уследить за всеми связями нелегко, а такие программки как MySQL Workbench хорошо могут эти связи показать. Создание связей начинается […]

Что такое Sphinx

Sphinx — полнотекстовый поисковик по Mysql и Postgre, отличающийся скоростью от своих конкурентов, представленный на РИТ-2007 Петром Зайцевым. Использовать его имеет смысл только на больших проектах, где объем данных вынуждает уже использовать выделенный сервер. Обычный поиск как известно очень простой и очень медленный (условно 1.2 МБ/сек) .. SELECT * FROM my_table WHERE my_col […]

DB дизайн

Дизайн базы данных дело приятное и также важное при создании новой системы. Под дизайном я подразумеваю: Разбиение  проекта на независимые логические существа данных, т.е. таблицы. Обычно ни клиент ни управляющий проектом не описывают их. Создание структуры таблицы с корректными типами данных. Создание связей между таблицами через Foreign Key , если возможно Создание […]