Метка: бд

  • MySQL. Как сохранить порядок выборки при условии IN()?

    Рассмотрим короткий пример, как сохранить порядок выборки MySQL при запросе с условием IN. Итак, допустим мы имеем запрос: SELECT * from users WHERE id IN(2, 5, 7, 3, 15, 4); MySQL, вероятнее всего вернёт выборку в отсортированном по полю id виде или же в каком-то третьем, зависимо от настроек. Чтобы результаты были именно в порядке […]

  • Javascript. jQuery. Как остановить видео в iframe?

    В случае, когда видео, к примеру youtube, выводится в модальном окне или слайдере часта ситуация, когда пользователь скрыл окно, но при этом воспроизведение видео не остановилось и играет в фоне. Пример простого решения проблемы Вы найдете в этой статье. К примеру, у вас есть модальное окно с iframe, в котором играет видео с youtube: Посмотри […]

  • Yii2. Как добавить в OR несколько условий с LIKE?

    Возможна ситуация, когда нужно делать запрос с LIKE-поиском по нескольким полям, но при этом с условием OR. В этой статье пример реализации на Yii2 данной задачи. Всё, на самом деле, просто. Приведу пример: $query->andFilterWhere([ ‘or’, [‘like’, ‘first_name’, $nameFromQuery], [‘like’, ‘last_name’, $nameFromQuery], [‘like’, ‘middle_name’, $nameFromQuery] ]); Выше привел конструкцию, которая при условной поисковой фразе «Ивано» сгенерирует […]

  • Yii2. Как сделать deleteAll с условием NOT IN?

    Удаление записей в Yii2 при помощи метода deleteAll и условии not in выглядит не очень очевидным и столкнувшись с этой задачей, решил написать короткую заметку с примером реализации. Секрет в том, что условие надо задавать в виде массива. Приведу пример: SomeModel::deleteAll([ ‘AND’, ‘post_id’ => $id, [‘not in’, ‘id’, $arrayOfIds], ]); Этот пример сгенерирует следующий запрос […]

  • Php. PDO. Как получить id вставленной записи?

    Необходимость получения id только что вставленной записи — постоянная задача. Сейчас покажу, как работая с PDO b php получить это значение после INSERT-a. Все, как мы знаем очень просто: Рассмотрим пример: $query = $db->prepare(«INSERT INTO ……»); $query->execute(); $id = $db->lastInsertId(); Здесь все типично — подготавливаем запрос, выполняем его и средствами PDO получаем послений вставленный ID. […]

  • PDO. Как вернуть данные в формате ключ-значение (key-value)?

    Работа с данными в формате ключ-значение — другими словами с ассоциативными массивами очень удобна. Сейчас приведу просто пример как заставить PDO вернуть записи БД сразу в формате ключ-значение. Это полезно, когда Вам нужно получить, например id и название записи. При этом формат по умолчанию, мягко говоря не удобен при необходимости обращения по id. Сравните два […]

  • PostgreSQL. Как удалить записи только с родительской таблицы?

    PostgreSQL позволяет реализовать механизм партиционирования на очень нативном уровне — но при этом запрос к родительской таблице имеет отношение и ко всем дочерним таблицам. Таким образом стает проблематично удалить или получить данные только из родительской таблицы. В этой статье я расскажу. Как очень просто решить поставленную проблему. Для начала напомню, что партиционирование позволяет разбивать огромный […]

  • Php. Как создать дамп MySQL в одну строку кода?

    Создание регулярных бекапов — залог Вашего спокойного сна. Сегодня я покажу, как сделать бекап базы данных всего в одну строку php-кода. Будем использовать php-функцию shell, а также утилиту mysqldump. Код будет иметь примерно следующий вид: exec(‘mysqldump —user=someuser —password=somepass —host=somehost DB_NAME > /path/to/some/file.sql’); Конечно же, значение имени, пароля, хоста и имени Базы Данных нужно изменить на […]

  • Php. PDO. Как вернуть парный проиндексированный результат?

    PDO кроет множество полезных и интересных особенностей, способных существенно облегчить жизнь во множестве типичных задач. Например, есть возможность вернуть парный, проиндексированный результат выборки. К примеру, мы имеем следующие данные: +————-+——+ | date | price| +————-+——+ | 2014-02-19 | 34 | | 2014-02-20 | 30 | | 2014-02-21 | 28 | +————-+——+ Для того, чтобы получить […]

  • Postgres. Получить список таблиц базы данных и ее поля?

    Типичной задачей в области работы с базами данных, в т.ч. Postgres, является получения списка таблиц базы данных, а также их колонок. Для этого нужно обратиться к служебным таблицам и выполнить следующие запросы: — Все таблицы в схеме public SELECT table_name FROM information_schema.tables WHERE table_schema=’public’ ORDER BY table_name; — Все таблицы и колонки в схеме public […]