Пересказ статьи Alexei. Migrate a MySQL database to PostgreSQL using pgLoader
У меня возникла интересная задача, и я думаю, что будет полезно поделиться ей. Возможно, это кому-то поможет.
Описание задачи
Я получил дамп базы данных MySQL, но сейчас я работаю с PostgreSQL. Я начал думать о том, как перенести данные из MySQL в PostgreSQL и обнаружил инструмент, который называется
PgLoader.
Continue reading "Миграция базы данных MySQL на PostgreSQL с помощью pgLoader"
Пересказ статьи Denis Magda. Sample Data Generation With Built-In Database Capabilities
Имеется много способов генерации фиктивных данных для базы данных. Вы можете создать генератор данных, используя Mock-сервисы для тестирования, или получить подмножество собственных производственных данных. Помимо этого многие базы данных предлагают встроенные возможности для создания синтетических данных.
В этой статье вы узнаете, как использовать специальные функции базы данных, иерархические запросы и
рекурсивные общие табличные выражения (CTE) для генерации тестового набора данных в PostgreSQL, MySQL, Oracle и SQL Server.
Continue reading "Генерация тестовых данных с помощью встроенных возможностей базы данных"
Пересказ статьи Sai Krishna. REGEX IN SQL
В своих запросах SQL вы, вероятно, использовали предложение WHERE для фильтрации конкретного текста, выполняя поиск на точное совпадение. Например, вы могли бы использовать запрос типа “SELECT * FROM EMP WHERE name = 'Alex'”. Этот подход возвращает записи, которые точно соответствуют имени Alex в том же регистре. Однако имеется более универсальный способ обработки сложных текстовых шаблонов, использующих регулярные выражения (regex).
Continue reading "REGEX в SQL"
Пересказ статьи Crafting-Code. Tools and Techniques for Profiling and Debugging Slow-Running SQL Queries
Производительность базы данных является ключевым аспектом любого приложения, и когда запросы SQL начинают тормозить, это может оказать значительное влияние на производительность всей системы.
Профилирование и отладка медленно выполняющихся запросов SQL являются важными навыками администраторов баз данных, разработчиков и всех тех, кто отвечает за обслуживание приложений на основе базы данных.
В этой статье мы рассмотрим различные инструменты и методы для обнаружения, анализа и оптимизации медленно выполняющихся SQL-запросов, включая практические примеры кода.
Continue reading "Инструменты и методы для профилирования и отладки медленно выполняющихся SQL-запросов"
Пересказ статьи Rahul Mehta. MySQL substring uses with examples
Введение
MySQL, как и любые другие базы данных, может хранить данные различных типов. Одними из наиболее часто используемых типов данных являются строки. Разработчики широко используют эти типы для хранения данных, а также в различных операциях форматирования. Мы будем часто сталкиваться с требованием получения части строки. MySQL предоставляет функцию “SUBSTRING” для извлечения подстроки из строки. Имеются следующие варианты для извлечения строки:
- SUBSTRING
- SUBSTR (синоним для SUBSTRING)
- SUBSTRING_INDEX
Давайте начнем с понимания того, как работает substring.
Continue reading "Использование substring в MySQL на примерах"
Пересказ статьи DataScience Nexus. Understanding SQL Data Control Language: GRANT and REVOKE
Структурированный язык запросов (SQL) является мощным языком управления и манипуляции данными в реляционных базах данных. В то время как язык определения данных (DDL) и язык манипуляции данными (DML) являются наиболее используемыми составляющими SQL, язык управления данными (DCL) играет решающую роль в управлении доступом пользователей и разрешениях в пределах базы данных. Здесь мы будем разбираться в DCL и сфокусируемся на двух ключевых операторах - GRANT и REVOKE. Эти операторы исключительно важны для управления и обслуживания прав пользователя в пределах базы данных. Давайте вникать в область разрешений и привилегий SQL.
Continue reading "Понимание языка управления данными SQL: GRANT и REVOKE"
Пересказ статьи Rahma Hassan. Understanding the “ROWS BETWEEN” Clause in SQL
В SQL предложение “ROWS BETWEEN” является мощным средством, которое позволяет вам определить окно строк для анализа или вычислений непосредственно в запросе. Указывая диапазон строк, вы можете выполнять вычисления или применять агрегатные функции к подмножеству данных, а не ко всему результирующему набору. Цель данной статьи - сделать понятным предложение “ROWS BETWEEN” и его использование на примерах.
Continue reading "Понимание предложения ROWS BETWEEN в SQL"
Пересказ статьи Robert Sheldon. Working with MySQL constraints
MySQL предоставляет набор ограничений, которые вы можете включить в определения ваших таблиц для обеспечения целостности данных. Ограничения позволяют лучше контролировать типы данных, которые могут быть добавлены в базу данных. Например, вы можете использовать ограничения, чтобы установить уникальность столбца или допустимость NULL-значений, указать значение по умолчанию для столбца или проверить, что данные попадают в определенный интервал допустимых значений.
MySQL поддерживает шесть основных типов ограничений для обеспечения целостности данных: PRIMARY KEY, NOT NULL, DEFAULT, CHECK, UNIQUE и FOREIGN KEY. В этой статье я познакомлю вас с каждым типом и рассмотрю примеры их работы. Примеры включают ряд операторов CREATE TABLE, которые демонстрируют различные способы встраивания ограничений в определения таблиц. Если вы не знакомы с оператором CREATE TABLE или с тем, как создавать таблицы в базе данных MySQL, обратитесь к моей
более ранней статье этой серии.
Continue reading "Работа с ограничениями в MySQL"
Пересказ статьи Lukas Vileikis. Optimizing MySQL: Adding Data to Tables
Добро пожаловать снова в серию статей по оптимизации MySQL! В том случае, если вы не следили за этой серией, ранее была опубликована пара статей, где обсуждались основы оптимизации запросов, а также
оптимизация запросов на выборку (SELECT).
Здесь мы продолжим изучать способы оптимизации операторов INSERT и рассмотрим альтернативы, когда вам необходимо загрузить больше чем несколько строк в операторе LOAD DATA INFILE.
Continue reading "Оптимизация MySQL: добавление данных в таблицы"
Пересказ статьи Adron. Let’s Talk About Database Schema
Серьезно, давайте поговорим о схеме абстрактно и о буквальной схеме, реализованной в некоторых из самых популярных систем баз данных.
Что такое схема?
В целом, в стороне от специфических реализаций в реляционных базах данных, "схема" - это концептуальная основа или проект, который определяет структуру, связи и ограничения данных или информации. Она предоставляет способ описания и организации данных в структурированном виде. Такое понятие схемы не уникально для баз данных; например, в GraphQL схема определяет типы, запросы, мутации и связи между ними, ограничивая набор возможных операций, которые могут выполняться с использованием API, и форму возвращаемых данных.
Continue reading "Давайте поговорим о схеме базы данных"
Пересказ статьи Robert Sheldon. Exporting data from a MySQL database using SELECT…INTO OUTFILE
В
предыдущей статье этой серии я рассматривал оператор MySQL LOAD DATA, который позволяет получить данные из плоского текстового файла в таблицу. В этой статье я рассмотрю оператор SELECT…INTO OUTFILE, вид оператора SELECT, который включает предложение INTO OUTFILE. Это предложение позволяет экспортировать данные из одной или нескольких таблиц MySQL в плоский текстовый файл, что является обратной операцией по отношению к оператору LOAD DATA.
Continue reading "Экспорт данных из базы данных MySQL с помощью SELECT…INTO OUTFILE"
Пересказ статьи Priyanshu Garg. How To Import Excel File into MySQL Workbench Using Python
Существуют различные методы, с помощью которых мы можем загрузить данные в MySQL, такие как команда Load data infile и мастер импорта табличных данных. Зачем тогда нам нужен Python для загрузки данных в MySQL Workbench? Причина проста:
- Чем больше данных, тем больше времени займет загрузка данных в MySQL Workbench.
- Не нужно создавать схему таблицы, Python автоматически сделает это за вас.
Continue reading "Как импортировать файл Excel в MySQL Workbench, используя Python"
Пересказ статьи Robert Sheldon. Working with MySQL transactions
Транзакции в MySQL предоставляют эффективный метод для выполнения множества операторов как одну единицу работы, делая возможным безопасную модификацию данных путем предотвращения модификации или переписывания одних и тех же данных при одновременной работе многих пользователей. Если какие-либо операторы в рамках транзакции завершаются неудачно, изменения могут быть отменены (откат), и база данных возвращается к своему исходному состоянию, которое предшествовало началу транзакции. В противном случае MySQL фиксирует (commit) изменения в базе данных, а затем завершает транзакцию.
Continue reading "Работа с транзакциями в MySQL"
Пересказ статьи Lukas Vileikis. Optimizing Queries in MySQL: Optimizing Updates
В предыдущих частях этой серии статей по оптимизации MySQL мы говорили о том, как работают запросы на высоком уровне, после чего погрузились в возможности операторов SELECT и INSERT. Сейчас я буду обсуждать также некоторые способы оптимизации модификации данных.
Continue reading "Оптимизация запросов в MySQL: оптимизация обновлений"