Персональная страница shra, блог фриленсера, веб-разработчика на PHP. Здесь я делюсь своим опытом и мыслями, провожу опыты над людьми, собираю нематериальные свидетельства собственной глупости. Используя примеры программного кода с данного сайта, вы принимаете всю ответственность за возможные последствия их использования, включая ваше психическое здоровье и интересы третьих лиц.
Недавно обнаружил, что в mySQL целых три аналога PHP функции strpos.
INSTR(str,substr) — возвращает индекс первого найденного совпадения substr в строке str. Если подстрока не найдена, то ф-ция вернет 0.
LOCATE(substr,str), LOCATE(substr,str,pos) — также выполняют поиск образца substr в строке str, возвращая позицию. Функция позволяет указать позицию pos, с которой следует начать поиск.
POSITION — это синоним LOCATE.
Я подготовил демонстрацию работы всех трех функций, т.к. лучше один раз увидеть, чем 100 раз прочитать.
В словаре терминов осуществляется поиск по слову ‘street’.
Что делать, если нужно пронумеровать строки прямо в запросе? Полистав руководство MySql 5.5, нужной функции я не нашел.
Мне нужно было сохранять позиции пользователей в рейтинге, т.е. пронумеровать пользователей в зависимости от значения их рейтинга. ...
В mySQL нет выражения вроде RENAME DATABASE oldName to newName. Если возникла задача переименовать базу данных, придется выполнить по-этапно: операции создания новой БД, копирования таблиц из старой базы (RENAME TABLE ...) и удаление старой базы.
...
По умолчанию для mysqldump требуются права пользователя на блокировку таблиц.
Потому, когда вы создаёте бекапы, вы можете получить сообщение вроде:
mysqldump: Got error: 1044: "Access denied for user 'USER'@'%' to database 'DATABASENAME'" when ...
MySQL позволяет использовать курсоры (CURSORs) в хранимых процедурах. Эта конструкция позволяет организовать сложную обработку данных на стороне сервера ...