Содержание

12) ЗАКАЗАТЬ, ASC, DESC — CoderLessons.com

Сортировка результатов

С помощью команды SELECT результаты были возвращены в том же порядке, в котором записи были добавлены в базу данных. Это порядок сортировки по умолчанию. В этом разделе мы рассмотрим, как мы можем сортировать результаты наших запросов. Сортировка – это просто переупорядочивание результатов нашего запроса указанным способом . Сортировка может выполняться по одному столбцу или по нескольким столбцам. Это можно сделать для чисел, строк, а также типов данных даты.

MySQL ORDER BY используется вместе с запросом SELECT для упорядоченной сортировки данных. Предложение order by используется для сортировки наборов результатов запроса в порядке возрастания или убывания.

SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

ВОТ

  • «Оператор SELECT …» – это обычный запрос выбора
  • «|»  представляет альтернативы
  • «[ГДЕ условие | ГРУППА BY» field_name (s) «HAVING условие» – это необязательное условие, используемое для фильтрации наборов результатов запроса.
  • «ORDER BY» выполняет сортировку набора результатов запроса
  • «[ASC | DESC]» – это ключевое слово, используемое для сортировки наборов результатов в порядке возрастания или убывания. Примечание ASC используется по умолчанию.

Что такое ключевые слова DESC и ASC?

ASC – это краткая форма для восхождения

DESC – это краткая форма для спуска

Используется для сортировки результатов запроса в стиле сверху вниз.

Используется для сортировки результатов запроса в стиле снизу вверх

При работе с типами данных date самая ранняя дата отображается в верхней части списка.

, При работе с типами дат самая последняя дата отображается в верхней части списка.

При работе с числовыми типами данных самые низкие значения отображаются в верхней части списка.

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

При работе со строковыми типами данных набор результатов запроса сортируется от тех, которые начинаются с буквы А и заканчиваются буквой Z.

При работе со строковыми типами данных набор результатов запроса сортируется по тем, которые начинаются с буквы Z и идут вниз до буквы A.

 

Ключевые слова DESC и ASC используются вместе в сочетании с оператором SELECT и предложением ORDER BY.

DESC и ASC синтаксис

Ключевое слово сортировки DESC имеет следующий основной синтаксис.

SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

ВОТ

  • SELECT {fieldName (s) | *} FROM tableName (s) – это оператор, содержащий поля и таблицы, из которых можно получить результирующий набор.
  • [ГДЕ условие] является необязательным, но может использоваться для фильтрации данных в соответствии с заданным условием.
  • ORDER BY field (s) является обязательным и является полем, в котором должна быть выполнена сортировка. Ключевое слово DESC указывает, что сортировка должна быть в порядке убывания.
  • [LIMIT] является необязательным, но может использоваться для ограничения количества результатов, возвращаемых из набора результатов запроса.

Примеры:

Давайте теперь посмотрим на практический пример –

SELECT * FROM members;

 

Выполнение вышеупомянутого сценария в MySQL Workbench против myflixdb дает нам следующие результаты, показанные ниже.

membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1
Janet Jones
Female21-07-1980First Street Plot No 4Private Bag0759 253 542janetjones@yagoo. cm
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL[email protected]
3Robert PhilMale12-07-19893rd Street 34NULL12345[email protected]
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP. O. Box 4563987786553

Let’s suppose the marketing department wants the members details arranged in decreasing order of Date of Birth.  This will help them send birthday greetings in a timely fashion. We can get the said list by executing a query like below —

SELECT * FROM members ORDER BY date_of_birth DESC;

Executing the above script in MySQL workbench against the myflixdb gives us the following results shown below.

The same query in ascending order

SELECT * FROM members ORDER BY date_of_birth ASC

Note: NULL values means no values (not zero or empty string) . Observe the way they have been sorted.

More examples

Let’s consider the following script that lists all the member records.

SELECT * FROM `members`;

Executing the above script gives the following results shown below.

membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542janetjones@yagoo. cm
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL[email protected]
3Robert PhilMale12-07-19893rd Street 34NULL12345[email protected]
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL
938867763
NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP. O. Box 4563987786553NULL

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

SELECT * FROM `members` ORDER BY `gender`;
membership_number
full_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542[email protected]
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL[email protected]
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
3Robert PhilMale12-07-19893rd Street 34NULL12345rm@tstreet. com
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553NULL

Сначала отображались «женские» элементы, а затем «мужские», так как при использовании предложения order by без указания ключевого слова ASC или DESC по умолчанию MySQL сортирует набор результатов запроса в порядке возрастания.

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

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Выполнение вышеупомянутого сценария в MySQL Workbench против myflixdb дает следующие результаты.

По умолчанию столбец пола был отсортирован в порядке возрастания, а столбец даты рождения — в порядке убывания

Почему мы можем использовать DESC и ASC?

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

Ключевое слово DESC пригодится в таких ситуациях. Мы можем написать запрос, который сортирует список по убыванию, используя дату платежа.

Предположим, что отдел маркетинга хочет получить список фильмов по категориям, которые участники могут использовать, чтобы решить, какие фильмы доступны в библиотеке при аренде фильмов, не будет ли более логичным смотреть сортировку названий и названий категорий фильмов по возрастанию, чтобы участники могут быстро искать информацию из списка?

Ключевое слово ASC пригодится в таких ситуациях; мы можем отсортировать список фильмов по названию категории и названию фильма в порядке возрастания.

Резюме

  • Сортировка результатов запроса — это реорганизация строк, возвращаемых из набора результатов запроса, в порядке возрастания или убывания.
  • Ключевое слово DESC используется для сортировки набора результатов запроса в порядке убывания.
  • Ключевое слово ASC используется для сортировки набора результатов запроса в порядке возрастания.
  • И DESC, и ASC работают в сочетании с ключевым словом ORDER BY. Их также можно использовать в сочетании с другими ключевыми словами, такими как предложение WHERE и LIMIT.
  • По умолчанию для ORDER BY, когда ничего явно не указано, является ASC.

 

 

DESC & ASC-запит із EXAMPLE

Сортування результатів

За допомогою команди SELECT результати поверталися в тому самому порядку, коли записи були додані до бази даних. Це порядок сортування за замовчуванням. У цьому розділі ми розглянемо, як можна відсортувати результати запитів. Сортування — це просто реорганізація результатів нашого запиту заданим способом. Сортування може виконуватися на одному стовпці або на декількох стовпцях. Це можна зробити для числа, рядків, а також типів даних дати.

MySQL ORDER BY використовується разом із запитом SELECT для впорядкованого сортування даних. Речення MySQL ORDER BY використовується для сортування наборів результатів запиту у порядку зростання або зменшення.

SELECT statement… [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

ТУТ

  • «Вираз SELECT …» — звичайний запит вибору
  • «|» представляє альтернативи
  • «[WHERE умова | GROUP BY` ім’я_поля_поля `HAVING умова» є необов’язковою умовою, яка використовується для фільтрування наборів результатів запиту.
  • «ORDER BY» виконує сортування набору результатів запиту
  • «[ASC | DESC]» — це ключове слово, що використовується для сортування наборів результатів у порядку зростання або зменшення. Примітка ASC використовується за замовчуванням.

Що таке DESC та ASC Ключові слова?

ASC — це коротка форма для зростання

MySQL DESC — це коротка форма для спадання

Він використовується для сортування результатів запиту за стилем зверху вниз.

Він використовується для сортування результатів запиту за стилем знизу вгору

При роботі з типами даних дати найперша дата відображається вгорі списку.

. При роботі з типами дат, найпізніша дата відображається вгорі списку.

При роботі з числовими типами даних найнижчі значення відображаються вгорі списку.

При роботі з числовими типами даних найвищі значення відображаються вгорі набору результатів запиту.

Під час роботи з рядковими типами даних набір результатів запиту сортується від тих, що починаються з літери A, що переходить до літери Z.

При роботі з рядковими типами даних набір результатів запиту сортується від тих, що починаються з літери Z, що спускається до букви А.

Ключові слова SQL DESC та ASC використовуються разом із оператором SELECT та реченням MySQL ORDER BY.

Синтаксис DESC та ASC

Ключове слово SQL DESC сортування має наступний базовий синтаксис.

SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

ТУТ

  • ВИБЕРІТЬ {імена полів |. | *} FROM tableName (s) — це оператор, що містить поля та таблиці (таблиці), з яких потрібно отримати набір результатів.
  • [WHERE умова] є необов’язковою, але може використовуватися для фільтрування даних відповідно до заданої умови.
  • ПОРЯДОК ПО Іменам (полям) поля є обов’язковим і є полем, за яким має виконуватися сортування. Ключове слово MySQL DESC вказує, що сортування має відбуватися у порядку зменшення.
  • [LIMIT] необов’язковий, але може використовуватися для обмеження кількості результатів, повернутих із набору результатів запиту.

Приклади:

Давайте зараз розглянемо практичний приклад —

SELECT * FROM members;

Виконання вищезазначеного сценарію в робочому середовищі MySQL проти myflixdb дає нам такі результати, показані нижче.

 
membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLThis email address is being protected from spambots. You need JavaScript enabled to view it.
3Robert PhilMale12-07-19893rd Street 34NULL12345This email address is being protected from spambots. You need JavaScript enabled to view it.
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP. O. Box 4563987786553

Припустимо, відділ маркетингу хоче, щоб дані про членів були розташовані в порядку зменшення дати народження. Це допоможе їм своєчасно надіслати привітання з днем ​​народження. Ми можемо отримати згаданий список, виконавши запит, як показано нижче —

SELECT * FROM members ORDER BY date_of_birth DESC;

Виконання вищезазначеного сценарію в робочому середовищі MySQL проти myflixdb дає нам такі результати, показані нижче.

Той самий запит за зростанням

ВИБЕРІТЬ * ВІД учасників ЗАМОВИТИ ЗА датою_народження ASC

Примітка: NULL значення означає відсутність значень (не нуль або порожній рядок). Спостерігайте за способом їх сортування.

Більше прикладів

Давайте розглянемо наступний сценарій, в якому перераховані всі записи учасників.

SELECT * FROM `members`;

Виконання вищезазначеного сценарію дає наступні результати, показані нижче.

 
membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLThis email address is being protected from spambots. You need JavaScript enabled to view it.
3Robert PhilMale12-07-19893rd Street 34NULL12345This email address is being protected from spambots. You need JavaScript enabled to view it.
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP. O. Box 4563987786553NULL

Припустимо, ми хочемо отримати список, який сортує набір запитів за допомогою гендерного поля, ми використаємо сценарій, показаний нижче.

SELECT * FROM `members` ORDER BY `gender`;
 
membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLThis email address is being protected from spambots. You need JavaScript enabled to view it.
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
3Robert PhilMale12-07-19893rd Street 34NULL12345This email address is being protected from spambots. You need JavaScript enabled to view it.
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553NULL

Спочатку відображаються «Жіночі» члени, а потім «Чоловічі». Це відбувається тому, що, коли використовується пункт ORDER BY DESC без зазначення ключового слова ASC або MySQL DESC, за замовчуванням MySQL сортує набір запитів у порядку зростання.

Давайте зараз розглянемо приклад, який здійснює сортування за двома стовпцями ; перший з них упорядковано в порядку зростання за замовчуванням , в той час як другий стовпець сортується в порядку убування.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Виконання вищезазначеного сценарію в робочому середовищі MySQL проти myflixdb дає такі результати.

Статевий стовпець було відсортовано за зростанням за замовчуванням, тоді як стовпець дати народження відсортований у порядку зменшення

Чому ми можемо використовувати DESC та ASC?

Припустимо, ми хочемо надрукувати історію платежів для учасника відеотеки, щоб допомогти відповідати на запити на стійці реєстрації, чи не було б більш логічним друкувати платежі у спадному хронологічному порядку, починаючи з нещодавнього платежу до попереднього платежу?

DESC в SQL — це ключове слово, яке стає в нагоді в таких ситуаціях. Ми можемо написати запит, який сортує список за спаданням за датою оплати.

Припустимо, що відділ маркетингу хоче отримати список фільмів за категоріями, за допомогою яких учасники можуть вирішити, які фільми доступні в бібліотеці при прокаті фільмів, чи не було б логічнішим виглядати сортування назв та назв категорій фільмів за зростанням, щоб члени можуть швидко шукати інформацію зі списку?

Ключове слово ASC стає в нагоді в таких ситуаціях; ми можемо отримати список фільмів, відсортований за назвою категорії та назвою фільму у порядку зростання.

Резюме

  • Сортування результатів запиту — це переупорядкування рядків, повернутих із набору результатів запиту, за зростанням або за спаданням.
  • Ключове слово DESC у SQL використовується для сортування набору запитів у порядку зменшення.
  • Ключове слово ASC використовується для сортування набору запитів у порядку зростання.
  • І DESC, і ASC працюють разом із ключовим словом ORDER BY. Вони також можуть використовуватися в поєднанні з іншими ключовими словами, такими як речення WHERE та LIMIT
  • За замовчуванням для ORDER BY, коли нічого явно не вказано, є ASC.

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

О сортировке данных с помощью SQL запросов, думаю, знают все web разработчики.

Достаточно указать в запросе предложение ORDER BY с нужными параметрами и вы получите желаемый результат.

Параметры задавать тоже несложно. Просто перечисляете через запятую столбцы по которым нужно выполнить сортировку и указываете её направление (по возрастанию (ASC) или по убыванию (DESC)).

Т.е. запрос, выполняющий сортировку может выглядеть примерно следующим образом.

SELECT * FROM articles ORDER BY a_title ASC, a_date DESC

В этом случае записи из таблицы articles будут отсортированы в возрастающем порядке по полю a_title, а для записей у которых совпадают значения в поле a_title – по полю a_date в убывающем порядке.

Именно в такой форме используются возможности сортировки в большинстве случаев. Но встречаются ситуации, в которых нужно использовать более сложные правила.

Сортировка с учетом типа данных

Представьте, что у вас есть две таблицы. Первая содержит какие-нибудь записи (статьи, новости, товары и т.п.), а вторая – метаданные для этих записей. Метаданные могут содержать какую угодно информацию, например, рейтинг новости или цвет товара.

При этом таблицы будут иметь приблизительно следующую структуру.

Подобные решения используются во многих CMS, т.к. авторы не знают какие именно метаданные будет использовать разработчик сайта и предоставляют ему возможность создавать их в неограниченном количестве.

Но что произойдет если мы попытаемся выполнить сортировку по метаданным?

Такую сортировку можно выполнить с помощью следующего запроса

SELECT * FROM articles AS a LEFT JOIN metadata AS m ON a.a_id=m.m_article_id WHERE m.m_name="color"

Этот запрос выведет все записи из таблицы articles для которых создано мета-поле color.

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

При этом числовые данные будут отсортированы не правильно. Дело в том, что ORDER BY сравнивает значения с учетом типа поля и, например, при сортировке по возрастанию вы получите следующий ряд значений: «1», «10», «2», «3» и т.д.

Т.е. при выполнении такого запроса нужно указать, что поле m_value необходимо считать числовым. Делается это следующим образом.

SELECT * FROM metadata ORDER BY (m_value+0)

Обратная операция (сортировка числового поля по правилам текстового) записывается немного сложнее.

SELECT left(a_id, 20) AS id_str FROM articles ORDER BY id_str

Функция left возвращает строку, содержащую первые N символов из строки, указанной в первом параметре. Количество символов (N) задается во втором параметре. В данном случае будут выбраны первые 20 символов (достаточно чтобы преобразовать 8-байтное целое число в строку). Т.е. движок MySQL выполнит сортировку по строке, полученной из значения числового поля.

Хочу предупредить, что несмотря на то, что данные методы могут быть удобны в ряде ситуаций, их использование приводит к снижению скорости выполнения SQL запросов. Поэтому злоупотреблять ими не стоит. С другой стороны, сортировка с помощью PHP (или любого другого языка) также займет какое-то время.

Сортировка текста с учетом регистра

Для текстовых полей сортировка выполняется без учета регистра. В большинстве случаев это правильно, т.к. в таблице символов прописная «А» идет после строчной «я». Т.е. отсортированные с учетом регистра строки будут расположены в следующем порядке.

1. «Язык запросов»
2. «Язык программирования»
3. «Язык Запросов»

Но если всё-таки сортировку нужно выполнить с учетом регистра, просто добавьте оператор BINARY перед именем поля.

SELECT * FROM articles ORDER BY BINARY a_title

Сортировка по фрагменту строки

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

Но, в любом случае, вы можете использовать функцию SUBSTRING_INDEX для выбора подстроки и последующей сортировки. Например,

SELECT SUBSTRING_INDEX(a_title, ' ', -1) AS at FROM wp_5_posts ORDER BY at

Сортировка записей по заданному списку значений

Представьте, что у вас есть записи, которые каким-то образом связаны с временем года. И вы храните эту информацию в одном из столбцов таблицы.

Очевидно, что, используя стандартный вариант сортировки (по алфавиту), расположить сезоны порядке «весна», «лето», «осень», «зима» не получится. Естественно, можно каждому времени года присвоить свой код, но есть и другой вариант решения – использовать функцию FIELD.

SELECT * FROM articles ORDER BY FIELD(a_season, "весна","лето","осень","зима")

Эта функция ищет значение, указанное в первом параметре, среди значений, перечисленных в остальных параметрах, и возвращает его порядковый номер. При выполнении запроса в первый параметр функции FIELD будут передаваться значения из поля a_season и, таким образом, записи будут отсортированы в заданном нами порядке.

Сортировка строк по их длине

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

SELECT * FROM articles ORDER BY CHAR_LENGTH(a_title)

Как видите, «фокус» заключается в использовании функции CHAR_LENGTH, которая определяет количество символов в строке.

Заключение

Думаю, глядя на последние несколько рецептов, вы понимаете, что подобным образом можно использовать практически все функции MySQL. Мне будет интересно, если вы поделитесь примерами из своей практики 😉

Интересное в Интернете

Заказ свадебных фотоальбомов с доставкой по РФ и СНГ

Объедините свои данные Desk.com и MySQL за считанные минуты

Два мощных инструмента вместе

Интегрируйте Desk. com и MySQL, чтобы превратить ваши данные в полезную информацию.

Desk.com — платформа обслуживания клиентов

Stitch предлагает подробную документацию по синхронизации данных Desk.com.

Документация Stitch Desk.com

MySQL — популярный инструмент для работы с базами данных.

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

Stitch MySQL Documentation

Desk.com и MySQL в ваше хранилище данных за считанные минуты

Stitch доставляет все ваши данные в ведущие озера данных, хранилища и платформы хранения.

Все ваши данные там, где они вам нужны

Предоставьте своим аналитикам, специалистам по данным и другим членам команды свободу использовать аналитические инструменты по своему выбору.

Просмотреть все инструменты анализа

Лучшая часть? Нулевой инжиниринг или текущее обслуживание. Для Stitch не составляет труда управлять нашими конвейерами данных, в то время как наши команды остаются сосредоточенными на нашем основном бизнесе и росте.

Дэйв Риггс

Директор по маркетингу приобретения, Laurel & Worf

Почему наши клиенты выбирают Stitch

Stitch — это простая и мощная служба ETL, созданная для разработчиков. Stitch подключается к вашим собственным источникам данных — от баз данных, таких как MongoDB и MySQL, до инструментов SaaS, таких как Salesforce и Zendesk, — и реплицирует эти данные в ваше хранилище. С помощью Stitch разработчики могут предоставлять данные для своих внутренних пользователей за считанные минуты, а не недели.

Исследуйте все функции Stitch

Простая настройка
Начните репликацию данных за считанные минуты и никогда не беспокойтесь об обслуживании ETL.
Владейте собственной инфраструктурой данных
Сшивайте копии на своем складе, что означает, что вы всегда контролируете ситуацию.
Усовершенствованный механизм репликации
Точные данные из любой структуры в любое время.

Ознакомьтесь со всеми функциями Stitch

Интегрируйте свои данные Desk.com и MySQL сегодня

Выберите интеграцию, выберите хранилище и пользуйтесь Stitch бесплатно в течение 14 дней.

Зарегистрируйтесь бесплатно →Связаться с отделом продаж →

Настройка за считанные минутыНеограниченный объем данных во время пробного периода

Подключение к вашей экосистеме источников данных

Stitch интегрируется с ведущими базами данных и продуктами SaaS. Никакого обслуживания API, при этом вы сохраняете полный контроль над поведением репликации.

  • Стандартный

    Сертифицированный

  • Стандартный

    Сертифицированный

  • Стандартный

    Сертифицированный

    0005

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Enterprise

    Stitch-certified

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Стандартный

    Сертифицированный

  • Стандартный

    При поддержке сообщества

  • Стандартный

    Community-supported

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    При поддержке сообщества

  • Стандарт

    Сертификация Stitch

  • Стандарт

    При поддержке сообщества

  • Стандарт

    , поддерживаемый по сообществу

  • Стандарт

    , поддерживаемая сообществом

  • Стандарт

    , сертифицированные

  • 9000 9000 40004.

  • Стандартный

    Сертифицированный стежок

  • Стандартный

    Сертифицированный стежок

  • Стандартный

    , сертифицированные стежка

  • Стандарт

    , поддерживаемая сообществом

  • Стандарт

    Стич-сертифицированные

  • Стандарт

    СПЕРТИКА

  • Стандарт

    СТИЧЕСКИЙ

  • Стандарт

    77975

    Стандартный

    7775

    4

    7004

    004
    004
    004
    004
    000

    700477775

    .

    Сертификация Stitch

  • Стандарт

    Поддержка сообщества

  • Стандарт

    Сертификация Stitch

  • Standard

    Stitch-certified

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Стандартный

    При поддержке сообщества

  • Стандартный

    Сертифицированный стежком

  • Стандартный

    Stitch-certified

  • Enterprise

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Standard

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Стандартный

    Сертифицированный стежком

  • Стандартный

    При поддержке сообщества

  • Стандартный

    , поддерживаемая в сообществе

  • Стандарт

    , сертифицированные на стежках

  • Стандарт

    , поддерживаемая сообществом

  • Стандарт

    -STITCE-STITH

  • Стандарт

    -STITCE-SETPARIFIFE

  • Стандарт

    9007

    470047007

    70047007. pousported

    007

    470047007

    70047007.poundported

    007

    470047007

    007.

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Стандарт

    , поддерживаемый сообществом

  • Стандарт

    Сертифицированный стежок

  • Стандарт

    .

  • Стандартный

    Сертифицированный стежок

  • Стандартный

    Сертифицированный стежок

  • Стандартный

    , сертифицированные стежка

  • Стандарт

    , поддерживаемая сообществом

  • Стандарт

    Стич-сертифицированные

  • Стандарт

    СПЕРТИКА

  • Стандарт

    СТИЧЕСКИЙ

  • Стандарт

    77975

    Стандартный

    7775

    4

    7004

    004
    004
    004
    004
    000

    700477775

    .

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Стандартный

    Сертифицированный Stitch

  • Стандартный

    Поддерживаемый сообществом

  • Enterprise

    Stitch-certified

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Сертифицированный Stitch

  • Стандартный

    Сертифицированный Stitch

  • Стандартный

    При поддержке сообщества

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Community-supported

  • Стандартный

    Сертифицированный стежок

  • Стандартный

    Сертифицированный стежок

  • Стандартный

    Сертифицированный стежок

  • Стандарт

    , поддерживаемая сообществом

  • Стандарт

    Сертифицированный стежок

  • Стандарт

    , поддерживаемые сообществом

  • Стандарт

    , поддерживаемые сообществом

  • Стандарт

    .

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Стандарт

    Сертификация Stitch

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Community-supported

  • Стандартный

    Сертифицированный стежком

  • Стандартный

    При поддержке сообщества

  • Стандартный

    , поддерживаемая сообществом

  • Стандарт

    Секретифицированный стежок

  • Стандарт

    Стоички

  • Стандарт

    СПЕРТИКА

  • Стандарт

    СПЕРТИКА

  • СТАНДАРТА

    77775

    .

    При поддержке сообщества

  • Стандартный

    При поддержке сообщества

  • Стандартный

    При поддержке сообщества

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Community-supported

  • Standard

    Stitch-certified

  • Standard

    Stitch-certified

  • Enterprise

    Сертифицированный стежок

  • Стандартный

    Сертифицированный стежок

  • Стандартный

    , поддерживаемая в сообществе

  • Стандарт

    , сертифицированные на стежках

  • Стандарт

    , поддерживаемая сообществом

  • Стандарт

    -STITCE-STITH

  • Стандарт

    -STITCE-SETPARIFIFE

  • Стандарт

    9007

    470047007

    70047007. pousported

    007

    470047007

    70047007.poundported

    007

    470047007

    007.

    Сертифицировано Stitch

Руководство: Использование MySQL с Databox

КАК
  • Подготовьте базу данных MySQL и хост
  • Подключить MySQL к Databox
  • Используйте построитель запросов для MySQL
  • Дополнительная информация
    Подключения к MySQL доступны в тарифных планах Professional и Performer. Запросите бесплатную пробную версию MySQL, следуя эти шаги.
В ЭТОМ РАЗДЕЛЕ
  • Как подготовить базу данных MySQL и хост
  • Как настроить SSL-соединение

Как подготовить базу данных MySQL и хост

Чтобы подготовить нашу базу данных и хост MySQL, нам нужно разрешить удаленные подключения с общедоступного IP-адреса Databox (52.4.198.118) к нашей базе данных. Необходимые шаги для этого будут зависеть от вашей базы данных, серверной инфраструктуры и брандмауэра. IP-адрес VPC должен иметь возможность напрямую подключаться к порту базы данных.

1
 Сначала мы создадим пользователя с именем   «Пользователь» с разрешениями на удаленный доступ к базе данных с именем «mydb» 

 GRANT SELECT ON mydb.* TO 'user'@'52.4.198.118' ОПРЕДЕЛЯЕТСЯ 'securePassword';

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

2

 По умолчанию наш сервер MySQL настроен на прослушивание только локального интерфейса. Мы должны настроить наш сервер MySQL для прослушивания всех IP-адресов. Для этого мы откроем /etc/my.cnf  (или /etc/mysql/my.cnf , в зависимости от вашего дистрибутива Linux). Убедитесь, что он содержит следующее:

 #skip-networking # закомментировано! bind-address = 0.0.0.0 # Будет прослушивать все IP
3

 Если вы внесли какие-либо изменения, перезапустите сервер MySQL, чтобы убедиться, что он готов принимать удаленные подключения.

4
 Найти Порт 3306/TCP , порт MySQL по умолчанию, из нашего IP-адреса VPC, упомянутого выше. Это должно быть сделано на вашем брандмауэре. Ниже приведен пример для Linux iptables:

 iptables -A FORWARD -s 52. 4.198.118/32 -p tcp --dport 3306 -j ПРИНЯТЬ

Возможно, вам придется заменить FORWARD на INPUT , если ваш Linux-компьютер имеет общедоступный IP-адрес и база данных работает на самом хосте.

Теперь ваш сервер настроен на прием запросов с нашего IP-адреса к вашей базе данных/таблице.

Как настроить SSL-соединение

Рекомендуется защищать соединение с помощью SSL-сертификата, созданного и установленного на сервере. Выполните следующие шаги, чтобы сделать это в любой последней версии MySQL.

Мы будем использовать инструменты командной строки OpenSSL, и наш сертификат будет самоподписанным, но не стесняйтесь использовать сертификаты любого широко известного и признанного центра сертификации.

1
 Сначала мы создадим новый Закрытый ключ ЦС

 openssl genrsa 2048 > ca-key. pem

2
 Далее мы создадим сертификат. Вам нужно будет ответить на несколько вопросов, и когда вы закончите, у вас будет CA ключ и Сертификат ЦС

 openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem

3
 Создать новый запрос подписи и закрытый ключ

 openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout server-key.pem > server-req.pem

4
 Экспортировать закрытый ключ в Закрытый ключ RSA

 openssl rsa -in server-key.pem -out server-key.pem

5
  Сертификат сервера теперь можно создать и подписать с помощью нашего ЦС

.
 openssl x509 -sha1 -req -in server-req.pem -days 730 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem

6
 Далее мы скопируем созданные файлы в каталог MySQL

.
 cp ca-cert.pem server-cert.pem server-key.pem /etc/mysql/
7

 Открыть /etc/mysql/my.cnf и добавьте следующие строки в Раздел MySQLd :

 ssl-ca=/etc/mysql/ca-cert.pem ssl-cert=/etc/mysql/server-cert.pem ssl-key=/etc/mysql/server-key.pem
8

 Перезапустите сервер, чтобы применить новые настройки.

9
 Теперь мы хотим создать пользователя, которому будет разрешено подключаться только через соединение SSL

.
 ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА *.* 'ssluser'@'%', ОПРЕДЕЛЕННОМУ 'SecurePassword' ТРЕБУЕТСЯ SSL;

Не стесняйтесь ограничивать доступ пользователей по своему усмотрению. В большинстве случаев доступ пользователя ограничен нашим IP-адресом только с разрешениями SELECT .

10

 На этом этапе мы должны протестировать SSL-соединение с клиента MySQL. Для этого мы вставим приведенный ниже код в /etc/mysql/my.cnf , но на этот раз в Раздел клиента .

 ssl-ca=/etc/mysql/ca-cert.pem ssl-cert=/etc/mysql/server-cert.pem ssl-key=/etc/mysql/server-key.pem

11
 Подключиться к серверу. Если соединение установлено успешно, нам нужно будет подтвердить, что мы подключены через SSL. Это можно сделать, выполнив следующее: 

12
 На выходе будет много строк кода. Если Используемый шифр  возвращен, соединение SSL работает.

 SSL: используется шифр DHE-RSA-AES256-SHA

Если возвращается SSL: не используется , то SSL не активен. Вернитесь и повторите все шаги, описанные выше, или обратитесь в службу поддержки по адресу [email protected] для получения дополнительной помощи.

 SSL: не используется
 

Как только наша база данных будет должным образом подготовлена, мы подключим ее к Databox.

Чтобы подключить MySQL к Databox, перейдите к Источники данных > + Новое подключение . Введите MySQL в строку поиска и нажмите зеленую кнопку Connect .

Откроется окно Активация  , в котором вам будет предложено ввести данные для подключения и авторизовать приложение Databox.

Если вы настроили сертификат SSL, обязательно установите флажок SSL и вставьте сертификаты в соответствующие поля. SSL CA не является обязательным. Если вы используете самозаверяющий сертификат, обязательно оставьте флажок SSL  снятым, иначе соединение не будет установлено.

Нажмите зеленую кнопку Активировать , чтобы завершить процесс подключения. Если MySQL было успешно подключено, окно Activation вскоре закроется, и вы увидите Подключено  уведомление.

Если вы видите уведомление с надписью Неправильные учетные данные , дважды проверьте свои пользовательские данные, прежде чем повторно вводить их в окне Активация .

Если окно Activation  не закрывается более минуты, возможны проблемы с подключением к хосту базы данных из-за проблем с брандмауэром, сервером или сетью.

Если у вас возникли проблемы с подключением, убедитесь, что введенный IP-адрес или имя хоста общедоступны, или доступ предоставлен к общедоступному IP-адресу Databox (52.4.198.118).

Конструктор запросов для MySQL позволяет создавать пользовательские метрики, используя данные из вашей базы данных, для использования в таблицах данных, оповещениях, целях и т. д. Узнайте больше о Конструкторе запросов для MySQL здесь.

  • Убедитесь, что ваш брандмауэр открыт для общедоступного IP-адреса Databox и ваш порт правильно перенаправлен на сервер
  • Результаты запроса ограничены 10 000 строк. Если вы ожидаете, что ваш запрос вернет более 10 000 строк, или если вы не уверены, сколько строк будет возвращено, убедитесь, что LIMIT  запрос. Если вам нужно более 10 000 строк, чтобы успешно составить отчет о ваших данных MySQL в Databox, не стесняйтесь отправить свой запрос в нашу дорожную карту здесь.
  • Запрос должен содержать столбец с именем «Дата». Если вам нужно, используйте AS в своем операторе SELECT , чтобы удовлетворить это требование
  • .
  • Один столбец всегда должен содержать значение метрики
  • «Нулевые» значения не распознаются. При необходимости используйте функцию COALESCE. Узнайте больше здесь.

ServiceDesk Plus — конфигурация базы данных

ServiceDesk Plus — конфигурация базы данных

 


  • Настройка базы данных

    • Настройка сервера PostgreSQL

    • Настройка MS SQL Server

    • Настройка MY SQL Server

  • Пользователи без графического интерфейса

  • Подключиться к серверу PostgreSQL

  • Подключиться к моему серверу SQL

  • Советы по устранению неполадок


 

Настройка базы данных

По умолчанию ServiceDesk Plus — MSP поддерживает базу данных PostgreSQL , чтобы переключиться на базу данных SQL , необходимо настроить учетные данные SQL-сервера, чтобы установить соединение и запустить сервер.

Настройка PostgreSQL Сервер

  1. Выполнить файл changeDBServer.bat [ changeDBServer.sh для Linux ], представленный в ServiceDesk Plus — MSP Дом. Откроется мастер настройки базы данных. страница. Заполните данные формы для настройки SQL-сервера.

    • Тип сервера: Выберите тип сервера в поле со списком. Скажем, PostgreSQL

      .
    • Имя хоста: Введите IP-адрес/имя хоста, на котором доступна база данных. Имя хоста по умолчанию — «localhost».

    • Порт: Укажите порт. Порт по умолчанию — 1433.

      .
    • База данных: Автор по умолчанию имя базы данных будет servicedesk в нередактируемом формате.

    • Имя пользователя: Указать Имя пользователя для входа на сервер

    • Пароль: Укажите пароль.

  1. Проверить наличие подключения, нажмите кнопку «Проверить». Появится всплывающее окно с сообщением «Соединение Сообщение «Установлено».

  2. Нажмите OK, чтобы продолжить.

  3. Нажмите кнопку Сохранить, чтобы сохранить настройки сервера SQL.

 

Настройка сервера MSSQL

  1. Если вы используете удаленный Сервер MSSql и не хотите использовать встроенный сервер,

  2. Выберите сервер Введите в качестве сервера MSSql. Откроется страница мастера базы данных.

  3. Укажите имя хоста, порт, имя пользователя и пароль.

  4. Нажмите кнопку Test и проверьте наличие соединения.

  5. После соединения установлены, сохраните данные и запустите сервер.

 

Настройка сервера MYSQL

  1. Если вы используете удаленный Сервер MySql и не хотите использовать встроенный сервер,

  2. Выберите сервер Введите как сервер MySql. Откроется страница мастера базы данных.

  3. Укажите Имя хоста, порт, имя пользователя и пароль.

  4. Нажмите Тест кнопку и проверьте наличие соединения.

  5. После соединения установлены, сохраните данные и запустите сервер.

 

Пользователи без графического интерфейса

Запустите changeDBServer.bat [ changeDBServer.sh для Linux ] в командной строке, передав параметр как указано ниже,

 

C:\[ServiceDesk Plus — главная страница MSP]\bin>changeDBServer.bat —console

Он получит необходимую информацию для сервера БД из консоли.

 

Подключиться к серверу PostgreSQL

ServiceDesk Plus — MSP использует PostgreSQL в качестве базы данных по умолчанию.

 

Подключиться к серверу PostgreSQL в Windows

  1. Перейти к [ServiceDesk Plus — Главная страница MSP] \ pgsql \ bin в командной строке.

C:\> компакт-диск ManageEngine\ServiceDeskPlus — MSP\pgsql\bin

  1. Введите команду: pgsql.exe -U postgres -p 65432 -w servicedesk

C:\> cd ManageEngine\ServiceDeskPlus — MSP\pgsql\bin> psql.exe -U postgres -p 65432 -w servicedesk

ServiceDesk — это имя базы данных. 65432 — это порт, на котором работает база данных ServiceDesk Plus — MSP. ServiceDesk Plus — MSP использует учетную запись root для подключения к базе данных и не использует пароль. Подключиться к базе данных PostgreSQL можно только с консоли сервера.

 

Подключение к серверу PostgreSQL в Linux

  1. Установите клиент PostgreSQL, который поддерживает вашу версию Linux.

  2. После этого убедитесь, что в пути указана команда «psql». (Чаще всего mysql должен быть указан в пути, если нет, вы можете добавить полный путь к команде psql в переменной PATH в файле bashrc.

  3. Перейдите к [ServiceDesk Plus — Главная страница MSP] \ pgsql \ bin в командной строке.

# cd [ServiceDesk Plus — главная страница MSP]/pgsql/bin

  1. Введите команду: pgsql.exe -U postgres -h localhost -p 65432 служба поддержки

Подключиться к MY SQL Server

ServiceDesk Plus — MSP использует MYSQL в качестве базы данных по умолчанию.

 

Подключиться к серверу MYSQL в Windows

  1. Перейдите к [ServiceDesk Plus — Главная страница MSP] \ mysql \ bin в командной строке.

C:\> компакт-диск ManageEngine\ServiceDeskPlus — MSP\mysql\bin

  1. Введите команду: mysql.exe -u root -P 33366 служба поддержки

C:\> cd ManageEngine\ServiceDeskPlus — MSP\mysql\bin> mysql.exe -u root -P 33366 служба поддержки

ServiceDesk — это имя базы данных. 33366 — это порт, на котором работает база данных ServiceDesk Plus — MSP. ServiceDesk Plus — MSP использует учетную запись root для подключения к базе данных и не использует пароль. Вы можете подключиться к базе данных MYSQL только с консоли сервера.

 

Подключиться к серверу MYSQL в Linux

  1. Установите клиент MYSQL, который поддерживает вашу версию Linux.

  2. После этого убедитесь, что в пути указана команда «mysql». (Чаще всего mysql должен быть указан в пути, если нет, вы можете добавить полный путь к команде mysql в переменной PATH в файле bashrc.

  3. Перейдите к [ServiceDesk Plus — Главная страница MSP] \ mysql \ bin в командной строке.

# cd [ServiceDesk Plus — главная страница MSP]/mysql/bin

  1. Введите команду: # mysql -u root -S ../tmp/mysql.sock служба поддержки A

 

Советы по устранению неполадок

 

Разрешение соединения PostgreSQL

Проверьте следующее,

Разрешение соединения MY SQL

Проверьте следующее,

Разрешение соединения MS SQL

Если соединение отклонено и исключение выдается SQL Server как «невозможно подключиться к серверу», тогда может быть следующие причины, почему это могло произойти, такие как,

    • Имя сервера написан с ошибкой или номер порта неверный

    • SQL-сервер может быть не настроен на использование TCP/IP.