![]() |
|
![]() |
||||||
![]() |
В MS SQL отсутствует LIMIT в SELECT'е. Это поразительно и глупо, но это так. И после MySQL это невероятно раздражает. Поэтому было найдено решение проблемы. Сравнительно медленное, но зато работающее не только в новых версиях MS SQL (где есть row_number(), облегчающий жизнь). Итак, для того, чтобы к примеру сделать запрос аналогичный LIMIT 10,20 в MS SQL надо написать: Читать дальше... ![]() Предположим есть таблица с сохраненным полным XML документом в одном столбце и необходимо извлечь конкретный элемент для отображения, сортировки, проч. Хранимая процедура приведенная ниже, сделает эту работу. Необходимо выставить log_bin_trust_routine_creators в единицу: SET GLOBAL log_bin_trust_routine_creators = 1; Читать дальше... Этот пример конвертирует SQL из oracle, mysql, mssql, sqllite в ansi sql для избежания проблем совместимости на различных платформах Читать дальше... У вас есть набор многих ресурсов и вам необходимо знать какие из этих ресурсов доступны на нужный период времени, но mySQL не поддерживает sub-selection :( Вот как это можно сделать одним запросом: Читать дальше... Для выборки случайного ряда из таблицы можно воспользоваться запросом:
SELECT * FROM table ORDER BY RAND() LIMIT 1;
Однако для лучшей производительности при большом количестве рядов и наличии первичного индекса по полю id который идет БЕЗ ПРОПУСКОВ, в целях оптимизации производительности лучше воспользоваться двумя выборками с генерацией случайного числа на стороне PHP скрипта: Читать дальше... Бывают ситуации когда возникает необходимость обновить ряд с указанным ID, либо при отсутствии этого ID, вставить соответствующую ему запись. Таким образом нужно проверить есть ли в таблице запись с нужным ID через SELECT, если есть то выполнить UPDATE, иначе вставить ряд с помощью INSERT. Но есть более оптимальный путь, это использование в запросе вставки ON DUPLICATE KEY UPDATE.
Что делает приведенный запрос? Запрос говорит следующее: вставить новый ряд, НО если ряд с указанным ID уже существует, то просто обновить в нем поле column. Следует учесть, что ID должен быть первичным или уникальным ключом! Читать дальше... ![]() Базы данных → Сравнение с шаблоном (LIKE REGEXP) не работает если в строке есть символ '\' (обратный слэш), даже если он экранирован. Почему? → SQLНапример, почему не работает такой запрос: SELECT * FROM tableName WHERE charFieldName LIKE "%\\%" - выбрать из таблицы tableName ряды в которых поле charFieldName содержит обратный слэш (\). При этом сам обратный слэш в запросе экранирован.
Ответ: Потому что запрос неправильно записан.
Чтобы выполнить поиск символа '\', его следует указать как '\\\\'. Причиной такой записи является то, что обратные слэши удаляются дважды: сначала синтаксическим анализатором, а потом - при выполнении сравнения с шаблоном, таким образом остается только один обратный слеш, который и будет обрабатываться. Читать дальше... Довольно неплохой класс (но не лучший ;) ..) упращающий доступ к базам данных SQL Server. Читать дальше... class, server, sql, vb, visual basicДовольно неплохой класс (но не лучший ;) ..) упращающий доступ к базам данных SQL Server.Автор: Mulish Mehdi Читать дальше... ![]() Базы данных → Создание условия для простого поискового SQL запроса, основанного на LIKE и REGEXP → PHPСоздает условия для простого поискового SQL запроса, основанного на LIKE и REGEXP. Поисковая фраза и данные в таблице БД д.б. в кодировке UTF-8! LIKE используется для оптимизации скорости (и стоит в условии первым!), REGEXP -- для точного поиска целых вхождений слов и чисел. Синтаксис и примеры поискового запроса: "квантов* механик*", "сервер 3.4GHz 1024Mb", "смысл* жизни" -- ищутся вхождения всех слов (логическое "И") "квантов* | механик*" -- ищутся вхождения любого найденного (логическое "ИЛИ") Необязательный символ "*" заменяет ноль или более букв и может стоять только в конце слова! В начале или в середине слова звёздочка стоять не может! Регистр слов при поиске не учитывается! Читать дальше... Эта функция используется для фильтрации вводимых пользователем данных, перед их использованием в SQL-запросах, для предотвращения SQL-инъекций.
Функция работает только с пятой версией PHP. Читать дальше... ![]() Базы данных → Дамп MySQL → PHP![]() Простенький скрипт демонстрирующий как можно сделать импортировать sql-дамп в базу данных. Читать дальше... |
Меню
Подписка на RSS:
Поиск
Облако тегов
.net
array
asp
bash
browser
charset
check
class
clean
convert
count
create
css
curl
database
date
delete
directory
download
element
email
equivalent
extension
file
find
form
format
function
get
height
html
http
ie
image
javascript
jquery
load
mysql
number
page
perl
php
random
scriplet
send
shell
size
sql
string
text
time
url
utf8
variable
vb
visual basic
width
window
xml
xslt
|
![]() |
![]() |
![]() |
||
![]() |
![]() |