MySQL выбор повторяющихся значений из таблицы:
Например, выберем повторяющиеся названия статей из таблицы articles:
SELECT title,count(*)
FROM articles
GROUP BY title
HAVING count(*) > 1
ORDER BY count(*);
MySQL выбор повторяющихся значений из таблицы:
Например, выберем повторяющиеся названия статей из таблицы articles:
SELECT title,count(*)
FROM articles
GROUP BY title
HAVING count(*) > 1
ORDER BY count(*);
Правила защиты от SQL инъекций и XSS атак.
Для защиты от sql инъекций необходимо соблюдать следующие правила:
1) для целых и дробных величин, перед их использованием в запросе достаточно привести величину к нужному типу.
$id=(int)$id; $total=(float)$total;
или
$id = intval($id); $total = floatval($total);
Читать далее
Если вам требуется пробежаться по таблице и заменить определенный текст во всех записях.
Например, во всех новостях у вас заголовки:
«Эротика: Мокрые девушки»
«Эротика: Влажные киски»
а вам нужно:
«Мокрые девушки»
«Влажные киски»
Данное действие можно выполнить таким запросом:
update table_news set title = replace(title,'Эротика: ','');
Если вам необходимо подсчитывать количество просмотром определенной статьи, или записывать количество проголосовавших. Это лучше делать с помощью следующего SQL запроса:
Если вам необходимо проверить существуют ли данные в таблице, можно использовать следующий запрос:
Читать далее
Для выбора случайной строки из mysql можно использовать следующий запрос:
SELECT * FROM Table ORDER BY RAND()
Для выбора нескольких случайных строк подойдет следующий запрос:
Читать далее
Если у вас возникает ошибка mysql:
«Field xxx doesn’t have a default value»
это означает, что при вставке или обновлении данных у поля нет значения по умолчанию. Для решения проблемы нужно:
Еще одним способом решения является выключение режима mysql: «Strict Mode», т.е. мы выключаем режим строгого соответствия стандарту MySql.
Читать далее
Размеры и количество байт для числовых типов данных в MySQL:
Тип | Кол-во байт | От | До |
TINYINT | 1 | -128 | 127 |
SMALLINT | 2 | -32768 | 32767 |
MEDIUMINT | 3 | -8388608 | 8388607 |
INT | 4 | -2147483648 | 2147483647 |
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
Если использовать ключевое слово UNSIGNED, то величина интервала останется такая же. Но отсчет начнется с 0. Например, для TINYINT промежуток будет от 0 до 255.
Если дополнительно указан необязательный атрибут ZEROFILL, свободные позиции по умолчанию заполняются нолями.
Читать далее
Зарос на определение в MySQL максимальной длины строки в столбце:
SELECT MAX(LENGTH(`column`)) FROM table_name;
LOWER — перевод в MySQL текста в нижний регистр
REPLACE(строка, ' ', '')
— убираются в строке все пробелы
Копирование полностью всех данных из одной таблицы mysql в другую:
INSERT INTO `db`.`table_to` SELECT * FROM `db`.`table_from` ;
Если необходимо скопировать только некоторые столбцы, то применяем следующую конструкцию:
INSERT INTO `db`.`table_to` (`t1_2`, `t2_2`, `t3_2`, `t4_2`) SELECT `t1`, `t2`, `t3`, `t4` FROM `db`.`table_from` ;
Для копирования данных из одной таблицы MySQL в другую по условию, можно использовать следующий запрос:
Читать далее