+1.14
1 читатель, 15 топиков

Описание функции ADDDATE в MySQL (с типами временных интервалов)

Функция ADDDATE возвращает переданное в нее время определяемое первым параметром, с добавленным временным интервалом, который определяется вторым параметром.

Синтаксис:
ADDDATE(date, INTERVAL expr type)

У функции ADDDATE() существует синоним DATE_ADD().

Второй параметр в функции начинается ключевым словом INTERVAL, после которого следует значение и тип
этого значения.

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

! Есть упрощённый формат записи функции ADDDATE(date,days) — где days — дни.

Пример использования функции:
mysql> select adddate('2017-03-29', interval 15 day);
+----------------------------------------+
| adddate('2017-03-29', interval 15 day) |
+----------------------------------------+
| 2017-04-13                             |
+----------------------------------------+


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

Функции необратимого шифрования в MySQL (MD5,PASSWORD,SHA1)

В данной публикации будут рассмотрены некоторые функции необратимого шифрования применяемые в СУБД MySQL.

Функция MD5() — производит необратимое шифрование входящих данных по алгоритму MD5 (Message-Digest Algoritm).

Функция принимает на вход строку и возвращает 128-битную контрольную сумму, вычисляемую по алгоритму MD5. Возвращаемое значение — это 32-разрядное шестнадцатиричное число, уникальное для каждой строки. Если строки отличаются хотя бы одним символом, то результат выполнения функции MD5() для этих строк будет разный, для двух одинаковых строк — результат будет всегда одинаков.

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

Функции AES_ENCRYPT и AES_DECRYPT в MySQL

Функции AES_ENCRYPT() и AES_DECRYPT() производят симметричную шифровку и дешифровку данных с использованием алгоритма AES (Advanced Encryption Standard), при этом используется кодирование с 128-битным ключом. Есть возможность расширить до 256-бит, но как стандарт в MySQL выбран 128-битный, как достаточный по надёжности и более быстрый.

Синтаксис функций:
AES_ENCRYPT('Шифруемая строка','Ключ');
AES_DECRYPT('Дешифруемая строка','Ключ');
--Входные параметры AES_ENCRYPT() могут быть любой длины.
--Если любой из входных параметров равен NULL - то и результат выполнения тоже будет NULL.
--Ключ в AES_DECRYPT() должен совпадать с ключом в AES_ENCRYPT().


Приведем рабочий пример работы с функциями:
Читать дальше →

Исправление ошибки <host '' is not allowed to connect to this mysql server>

Ошибка возникает из-за отсутствия доступа у пользователя, для того, чтобы предоставить этот доступ, делаем так:
$ mysql -u root -p
Enter password:

mysql> use mysql

mysql> GRANT ALL ON *.* to root@'192.168.1.4' IDENTIFIED BY 'your-root-password'; 

mysql> FLUSH PRIVILEGES;

Приведение типов в MySQL

Здесь речь пойдёт об основных способах приведения типов в MySQL. Заранее следует оговорить тот момент, что в большинстве случаев приведение типов в MySQL сработает автоматически, например:
//Выполнив запрос:
select 1+'1';
//Получим результат: 2

Однако в ряде случаев требуется специальное приведение типов, о них и пойдёт речь далее.

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

Как заставить себя спроектировать БД

В жизни каждый ленивый хомосапиенс рано или поздно встречается с проблемой преодоления своей лени. Особенно сложно дается первый шаг, а именно с чего же начать, точнее как же начать.
На своей шкуре часто испытываю тяжесть первого старта очередного проекта, особенно это касается творческого процесса.
Будь то новый ролик, новый медиапроект или программка нужно дать себе пендаль.

Волшебный пендаль творцы называют обычно красивым словом вдохновение. К чему тут в топике мускла я пишу о вдохновении? Да просто потому что процесс созидания новой схемы новой бд нового проекта у меня вызывает вполне ощутимую лень и небольшой трэмор перед стартом. Где ж брать вдохновение на создание БД, точнее структуры своей будущей БД. Я их беру вот тут Library of free data Models.
Возможно профи это ни к чему, но таким как я это часто просто необходимо — именно посмотреть как другие организовали свое хранилище для очень похожих задач.

Типы данных в БД MySQL

В этой публикации я рассмотрю подробно, на сколько это возможно, основные типы данных используемые в СУБД MySQL.

MySQL поддерживает несколько различных типов данных:
Числовые данные — это все целые числа (без дробной части) и вещественные числа (с дробной частью).
Строковые данные — последовательность символов, заключенная в кавычки. В MySQL в качестве стандарта используются одинарные кавычки и для совместимости с другими базами данных рекомендуется именно их использование.
Календарные данные — тип для обозначение даты и времени, принимает различные формы, например строковую «2007-11-23» или числовую 20071123. Особенностью этого типа данных является их хранение в едином внутреннем формате, что позволяет производить операции сложения и вычитания, в независимости от внешнего представления.
NULL — специальный тип данных, обозначает отсутствие информации.

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

О настройке и оптимизации MySQL сервера

Сразу скажу, статья не моя, но мне очень понравилась, и чтобы потом не искать решил запостить здесь. Благо автор на своём сайте не запрещает этого делать. За что ему огромное спасибище.
Вот оригинал: http://blog.peter.am/index.php/2010/11/30/setup-optimzations-mysql

В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.

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

MySQL перебор значений без перебора (одним скриптом).

    Здесь я приведу некоторые примеры полезных запросов в MySQL которые, как я думаю, многим могут пригодиться. Во всяком случае, когда я искал такую информацию, я так и не смог найти ничего дельного. Поэтому дошёл своим умом помаленьку. Данные запросы помогут сэкономить время и не писать процедуры для обработки данных, которые работают в разы медленнее, или помогут сделать эти процедуры значительно быстрее. Запросы показывают как в MySQL можно делать изменение записей в таблице, с перебором по всем необходимым значениям и с проверкой необходимых условий но без всяких переборов, только средствами MySQL одним запросом.

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

Типы и структура таблиц в MySQL

    База данных MySQL поддерживает несколько разных видов таблиц, все они имеют свои особенные возможности и ограничения.

    Начну своё описание с «родного» для баз данных MySQL типа таблиц MyISAM. Если в операторе create table не задать тип таблицы то будет назначен именно этот тип.
    Каждая MyISAM таблица хранится на диске в трёх файлах (в поддиректории каталога mysql/data), имена этих файлов совпадают с названием таблицы, а расширение может принимать одно из следующих значений:
.frm — структура таблицы, этот файл содержит информацию об именах и типах столбцов и индексов;
.MYD — в этом файле содержатся данные таблицы;
.MYI — в этом файле содержатся индексы таблицы.

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