Skip to content

Работа с ограничениями в MySQL

Пересказ статьи 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"

Оптимизация 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 "Давайте поговорим о схеме базы данных"

Экспорт данных из базы данных MySQL с помощью SELECT…INTO OUTFILE

Пересказ статьи 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"

Как импортировать файл Excel в MySQL Workbench, используя Python

Пересказ статьи Priyanshu Garg. How To Import Excel File into MySQL Workbench Using Python


Существуют различные методы, с помощью которых мы можем загрузить данные в MySQL, такие как команда Load data infile и мастер импорта табличных данных. Зачем тогда нам нужен Python для загрузки данных в MySQL Workbench? Причина проста:
  1. Чем больше данных, тем больше времени займет загрузка данных в MySQL Workbench.

  2. Не нужно создавать схему таблицы, Python автоматически сделает это за вас.
Continue reading "Как импортировать файл Excel в MySQL Workbench, используя Python"

Работа с транзакциями в MySQL

Пересказ статьи Robert Sheldon. Working with MySQL transactions


Транзакции в MySQL предоставляют эффективный метод для выполнения множества операторов как одну единицу работы, делая возможным безопасную модификацию данных путем предотвращения модификации или переписывания одних и тех же данных при одновременной работе многих пользователей. Если какие-либо операторы в рамках транзакции завершаются неудачно, изменения могут быть отменены (откат), и база данных возвращается к своему исходному состоянию, которое предшествовало началу транзакции. В противном случае MySQL фиксирует (commit) изменения в базе данных, а затем завершает транзакцию.
Continue reading "Работа с транзакциями в MySQL"

Оптимизация запросов в MySQL: оптимизация обновлений

Пересказ статьи Lukas Vileikis. Optimizing Queries in MySQL: Optimizing Updates


В предыдущих частях этой серии статей по оптимизации MySQL мы говорили о том, как работают запросы на высоком уровне, после чего погрузились в возможности операторов SELECT и INSERT. Сейчас я буду обсуждать также некоторые способы оптимизации модификации данных.
Continue reading "Оптимизация запросов в MySQL: оптимизация обновлений"

8 методов очистки данных в SQL

Пересказ статьи Kolade Orimolade. 8 Data Cleaning techniques in SQL


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

Continue reading "8 методов очистки данных в SQL"

Импорт данных в базу данных MySQL с помощью LOAD DATA

Пересказ статьи Robert Sheldon. Importing data into a MySQL database using LOAD DATA


Команды разработки и баз данных часто загружают данные из плоских текстовых файлов в свои базы данных MySQL. Файлы могут использоваться для добавления справочных данных, поддержки тестов и сред разработки, наполнении новых экземпляров MySQL, загрузки данных на регулярной основе, или иным образом поддерживать их деятельность. В помощь процессу импорта MySQL предоставляет оператор LOAD DATA, который читает строки из текстового файла и вставляет их в целевую таблицу. Continue reading "Импорт данных в базу данных MySQL с помощью LOAD DATA"

Получение в Python данных из MySQL

Пересказ статьи Robert Sheldon. Retrieving MySQL data from within Python


Приложения всех типов обычно получают доступ к MySQL для извлечения, добавления, обновления или удаления данных. Эти приложения могут быть написаны на Python, Java, C# или другом языке программирования. Большинство языков поддерживают множество методов для работы с базой данных MySQL и манипуляции ее данными.

Подход, который вы выбираете при доступе к MySQL, будет зависеть от используемого языка программирования и подключения, которое вы предпочтете для взаимодействия с базой данных. Какой бы подход вы ни выбрали, обычно в каждой среде применяются одни и те же основные принципы. Вы должны установить соединение с базой данных, а затем выполнять команды для извлечения или модификации данных. Continue reading "Получение в Python данных из MySQL"

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

Пересказ статьи Lukas Vileikis. Optimizing Queries in MySQL: Optimizing Reads


Оптимизация операций чтения является одной из наиболее частых проблем, с которой сталкивается любой администратор баз данных. Не важно, какая система управления базами данных используется - MySQL, ее клоны Percona Server или MariaDB, MongoDB, TimescaleDB, SQL Server, или какие-либо другие, запросы на чтение касаются их всех. В первую очередь, можно привести примеры запросов SELECT, но многое также относится к UPDATE и DELETE, поскольку эти операторы тоже должны извлекать строки для работы с ними.

В этом блоге мы расскажем, как решить проблемы, связанные с этим вопросом. В конце статьи приводятся некоторые операторы DDL для загрузки тестовых данных. Continue reading "Оптимизация запросов в MySQL: оптимизация чтений"

Введение в общие табличные выражения MySQL

Пересказ статьи Robert Sheldon. Introducing the MySQL common table expression


Как и во многих реляционных системах управления базами данных, MySQL предлагает разнообразные методы комбинирования данных в операторах языка манипуляции данными (DML). Вы можете соединять несколько таблиц в одном запросе или добавлять подзапросы, которые извлекают данные из других таблиц. Вы можете также обращаться к представлениям и временным таблицам из оператора наряду с постоянными таблицами.

MySQL предлагает также другой ценный инструмент для работы с данными - общие табличные выражения (CTE). CTE - это именованный результирующий набор, который вы определяете в предложении WITH. Предложение WITH связано с единственным оператором DML, но создается вне этого оператора. Однако только этот оператор может иметь доступ к результирующему набору. Continue reading "Введение в общие табличные выражения MySQL"

Резервирование в MySQL: физические и логические резервные копии

Пересказ статьи Lukas Vileikis. Backing Up MySQL Part 6: Physical vs. Logical Backups


Каждый, кто когда-либо резервировал данные на любой РСУБД, в курсе о бэкапах. Бэкапы - центральная часть целостности данных, особенно в наши дни, когда повреждения данных происходят со всех сторон. Надлежащим образом проверяемые бэкапы критичны для любой компании: как только что-то случается с вашими данными, они помогают быстро все наладить. Возможно, вы слышали о различиях между резервными копиями в системах управления базами данных - сами бэкапы также подразделяются на несколько уникальных форм. Мы говорим о физических и логических формах, которые имеют свои достоинства и недостатки. Давайте рассмотрим различия между этими двумя. Здесь мы адресуемся к MySQL, однако некоторые советы не ограничиваются исключительно этой СУБД. Continue reading "Резервирование в MySQL: физические и логические резервные копии"

Введение в оператор DELETE в MySQL

Пересказ статьи Robert Sheldon. Introducing the MySQL DELETE statement


Оператор DELETE позволяет удалить одну или более строк из таблицы, включая временные таблицы. В целом оператор DELETE является довольно простым, но он не менее необходим в вашем арсенале инструментов DML, наряду с другими операторами DML - SELECT, INSERT, UPDATE . Continue reading "Введение в оператор DELETE в MySQL"

Введение в оператор UPDATE в MySQL

Пересказ статьи Robert Sheldon. Introducing the MySQL UPDATE statement


Оператор UPDATE позволяет изменять значения в таблицах базы данных, включая временные таблицы. С помощью единственного оператора вы можете обновить одну или более строк, один или более столбцов, или любую их комбинацию. Вы можете даже обновить несколько таблиц. Проработав эту статью вы узнаете, что оператор UPDATE прост и интуитивно понятен, если усвоить основы его работы.
Continue reading "Введение в оператор UPDATE в MySQL"