Записи по тегу: sql

Удобная обертка PDO

13 комментариев

Выкладываю на ваш суд свой класс-надстройку над стандартным PDO. Писался и совершенствовался он с каждым проектом, и содержит все мои изменения суммарно.

Ссылка на GitHub (обновлено 26.06.2016)

Данное расширение добавляет следующий функционал:

  • Цепочки вызовов
  • Аналоги функций из pear::db
  • Показать сформированный запрос
  • Функции для подсчета статистики запросов
  • Дополнительные функции
  • Дополнительные опции
  • Другие изменения

Читать далее →

Уроки SQL. Сжимаем три запроса в один.

18 комментариев

Очень часто любому разработчику приходится сталкиваться с такой ситуацией:

  • Проверить существует ли определенная запись в таблице.
  • Если такой записи нет, то добавить ее
  • Если запись уже существует, то изменить ее

Начинающий программист решит эту задачу в три запроса, приблизительно так:

$result=mysql_query("SELECT * FROM `logs` WHERE `ip`='".$ip."'");

if(mysql_num_rows($result)==0){
	mysql_query("INSERT INTO `logs` (`ip`, `data`) VALUES ('".$ip."', '".$data."')");
}else{
	mysql_query("UPDATE `logs` SET `data`='".$data."' WHERE `ip`='".$ip."'");
}

Ну а не начинающий знает о конструкции

INSERT ... ON DUPLICATE KEY UPDATE ...

Что дает такая конструкция помимо краткости записи? Она дает выйгрыш в скорости! Тесты под катом.
Читать далее →