Архив рубрики: MySQL

MySQL

MySQL выбор повторяющихся значений из таблицы

MySQL выбор повторяющихся значений из таблицы:

Например, выберем повторяющиеся названия статей из таблицы articles:

SELECT title,count(*) 
FROM articles 
GROUP BY title 
HAVING count(*) > 1 
ORDER BY count(*);

Правила защиты от атак на php (SQL инъекции и XSS атаки)

Правила защиты от SQL инъекций и XSS атак.

Для защиты от sql инъекций необходимо соблюдать следующие правила:
1) для целых и дробных величин, перед их использованием в запросе достаточно привести величину к нужному типу.
$id=(int)$id; $total=(float)$total;
или
$id = intval($id); $total = floatval($total);

Читать далее

MySQL — замена текста в таблицах

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

Например, во всех новостях у вас заголовки:
«Эротика: Мокрые девушки»
«Эротика: Влажные киски»

а вам нужно:
«Мокрые девушки»
«Влажные киски»

Данное действие можно выполнить таким запросом:

update table_news set title = replace(title,'Эротика: ','');

Читать далее

MySQL — подсчет количества просмотров

Если вам необходимо подсчитывать количество просмотром определенной статьи, или записывать количество проголосовавших. Это лучше делать с помощью следующего SQL запроса:

Читать далее

Mysql — выбор случайной строки

Для выбора случайной строки из mysql можно использовать следующий запрос:

SELECT * FROM Table ORDER BY RAND()

Для выбора нескольких случайных строк подойдет следующий запрос:
Читать далее

Ошибка «Field xxx doesn’t have a default value»

Если у вас возникает ошибка mysql:

«Field xxx doesn’t have a default value»

это означает, что при вставке или обновлении данных у поля нет значения по умолчанию. Для решения проблемы нужно:

  • найти данный запрос и исправить его, добавить необходимое поле;
  • в свойствах таблицы указать значение по умолчанию;

Еще одним способом решения является выключение режима mysql: «Strict Mode», т.е. мы выключаем режим строгого соответствия стандарту MySql.
Читать далее

Числовые типы данных в 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 полезности

Зарос на определение в MySQL максимальной длины строки в столбце:

SELECT  MAX(LENGTH(`column`)) FROM table_name;

LOWER — перевод в MySQL текста в нижний регистр

REPLACE(строка, '  ', '')

— убираются в строке все пробелы

Как скопировать данные с одной таблицы в другую — mysql

Копирование полностью всех данных из одной  таблицы 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 в другую по условию, можно использовать следующий запрос:
Читать далее