Как создать базу данных в MySQL (Создавать MySQL Таблицы)

⚡ Умное резюме

Создание базы данных в MySQL Существует два проверенных способа: выполнение оператора CREATE DATABASE или генерация физических схем из ER-модели. MySQL Метод перспективного проектирования Workbench. Оба подхода позволяют получить идентичные, готовые к производству столы.

  • 🇧🇷 Создание базы данных: Выполните команду CREATE DATABASE movies; или CREATE SCHEMA, которая MySQL рассматривать как синоним.
  • 🛡️ Безопасные повторные запуски: Добавьте условие IF NOT EXISTS, чтобы при повторном выполнении скрипта создание файла пропускалось, а не возникала ошибка дублирования имени.
  • 🌐 Набор символов: Для многоязычных данных выбирайте кодировку utf8mb4 с параметром utf8mb4_0900_ai_ci; для устаревших схем, содержащих только английский язык, подходит кодировка latin1 с параметром latin1_swedish_ci.
  • 🧱 Создание таблицы: Команда CREATE TABLE определяет имя каждого поля, тип данных, первичный ключ и механизм хранения, обычно InnoDB.
  • 🔢 Типы данных: Типы столбцов делятся на числовые, текстовые и типа данных (дата или время), а также включают в себя варианты ENUM, SET, BOOL и двоичные типы.
  • ⚙️ Передовая инженерия: MySQL Workbench преобразует утвержденную ER-модель в исполняемые SQL-скрипты и отправляет их на работающий сервер.

Шаги по созданию базы данных в MySQL

База данных в MySQL Это именованный контейнер для таблиц, представлений и связанных объектов. Создать его можно двумя способами:

1) Выполнив простой SQL-запрос

2) Используя передовую инженерию в MySQL Верстак

As SQL новичок, давайте сначала рассмотрим метод запроса.

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

Вот как создать базу данных в MySQL:

CREATE DATABASE — это команда SQL, используемая для создания базы данных в MySQL.

Представьте, что вам нужно создать базу данных с названием «фильмы». Вы можете создать базу данных в... MySQL выполнив следующую SQL-команду.

CREATE DATABASE movies;

Примечание: Вместо команды CREATE DATABASE можно также использовать команду CREATE SCHEMA.

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

ЕСЛИ НЕ СУЩЕСТВУЕТ

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

ЕСЛИ НЕ СУЩЕСТВУЕТ инструктирует MySQL Сервер проверяет наличие базы данных с таким же именем перед её созданием. База данных создаётся только в том случае, если имя свободно; без этого условия... MySQL выдает ошибку.

CREATE DATABASE IF NOT EXISTS movies;

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

Параметры сортировки и набор символов

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

Выбор способа сортировки зависит от используемой кодировки. Например, в кодировке Latin1 используется... latin1_swedish_ci сортировка, которая представляет собой шведский порядок, нечувствительный к регистру.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Для местных языков, таких как арабский или китайский, выберите Unicode. utf8mb4 Набор символов, в котором хранятся все символы Unicode, включая эмодзи. MySQL 8.0 году utf8mb4 это набор символов по умолчанию и utf8mb4_0900_ai_ci Стандартная сортировка.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

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

Список существующих баз данных можно просмотреть, выполнив следующую SQL-команду.

SHOW DATABASES;

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

Как создать таблицу в MySQL

Команда CREATE TABLE используется для создания таблиц в базе данных.

Создать таблицу в MySQL

Как показано на диаграмме, каждая таблица принадлежит одной базе данных. Таблицы создаются с помощью СОЗДАТЬ ТАБЛИЦУ утверждение, имеющее следующий синтаксис.

CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

ВОТ

  • Команда «CREATE TABLE» отвечает за создание таблицы в базе данных.
  • Параметр «[IF NOT EXISTS]» является необязательным и создает таблицу только в том случае, если соответствующее имя таблицы не найдено.
  • «`fieldName`» — это имя поля, а «data Type» определяет характер хранимых в нем данных.
  • «[Дополнительные параметры]» — это дополнительная информация о поле, например, «AUTO_INCREMENT» или NOT NULL.
  • «Механизм хранения» управляет таблицей, обычно InnoDB, которая поддерживает транзакции и внешние ключи.

MySQL Пример создания таблицы

Ниже приведен MySQL Пример создания таблицы в базе данных:

CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
  `membership_number` INT AUTO_INCREMENT ,
  `full_names` VARCHAR(150) NOT NULL ,
  `gender` VARCHAR(6) ,
  `date_of_birth` DATE ,
  `physical_address` VARCHAR(255) ,
  `postal_address` VARCHAR(255) ,
  `contact_number` VARCHAR(75) ,
  `email` VARCHAR(255) ,
  PRIMARY KEY (`membership_number`) )
ENGINE = InnoDB;

Примечание: правильный MySQL ключевое слово AUTO_INCREMENT с нижним подчеркиванием. AUTOINCREMENT принадлежит SQLite и вызывает синтаксическую ошибку в MySQL.

Каждый столбец имеет свой тип данных, поэтому выбирайте его внимательно: не занижайте и не завышайте ожидаемый диапазон данных.

MySQL Типы данных

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

MySQL и 3 Основные категории типов данных, а именно:

  1. Числовой
  2. Текст
  3. Дата / время

Числовые типы данных

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

ТИНЬИНТ( ) От -128 до 127 нормально
От 0 до 255 БЕЗЗНАКОВ.
МАЛЫЙ ИНТ( ) От -32768 до 32767 нормально
От 0 до 65535 БЕЗЗНАКОВ.
СРЕДНЯЯ МЯТА( ) От -8388608 до 8388607 нормально
От 0 до 16777215 БЕЗЗНАКОВ.
ЦЕЛОЕ( ) От -2147483648 до 2147483647 нормально
От 0 до 4294967295 БЕЗЗНАКОВ.
БИГИНТ( ) От -9223372036854775808 до 9223372036854775807 нормально
От 0 до 18446744073709551615 БЕЗЗНАКОВ.
FLOAT Небольшое приблизительное число с плавающей десятичной точкой.
ДВОЙНОЙ( , ) Большое число с плавающей десятичной точкой.
ДЕСЯТИЧНАЯ ДРОБЬ( , ) Тип данных DOUBLE, хранящийся как строка, позволяющий использовать фиксированное количество знаков после запятой. Подходит для хранения денежных значений.

Типы текстовых данных

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

ЧАР( ) Фиксированный раздел длиной от 0 до 255 символов.
ВАРЧАР( ) Раздел переменной длиной от 0 до 255 символов.
КРОШЕЧНЫЙ ТЕКСТ Строка длиной не более 255 символов.
ТЕКСТ Строка длиной не более 65535 символов.
Большой двоичный объект Строка длиной не более 65535 символов.
СРЕДНИЙ ТЕКСТ Строка длиной не более 16777215 символов.
СРЕДНИЙ БЛОК Строка длиной не более 16777215 символов.
ДЛИННЫЙ ТЕКСТ Строка длиной не более 4294967295 символов.
ДЛИННЫЙ БЛОБ Строка длиной не более 4294967295 символов.

Типы данных даты и времени

Типы данных «дата» и «время» хранят значения календаря и часов в фиксированном формате, что обеспечивает надежность сортировки и сравнения.

ДАТА YYYY-MM-DD
ДАТА ВРЕМЯ ГГГГ-ММ-ДД ЧЧ: ММ: СС
ВРЕМЯ YYYYMMDDHHMMSS
ВРЕМЯ ЧЧ: ММ: СС

Другие типы данных

Помимо вышеперечисленного, существуют и другие типы данных. MySQL.

ПЕРЕЧИСЛЕНИЕ Для хранения текстового значения, выбранного из списка предопределенных текстовых значений.
УСТАНОВКА Это также используется для хранения текстовых значений, выбранных из списка предопределенных текстовых значений. Он может иметь несколько значений.
BOOL Синоним TINYINT(1), используемый для хранения логических значений.
BINARY Аналогично CHAR, разница заключается в том, что тексты хранятся в двоичном формате.
ВАРБИНАРНЫЙ Аналогично типу VARCHAR; разница заключается в том, что текст хранится в двоичном формате.

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

CREATE TABLE `all_data_types` (
    `varchar` VARCHAR( 20 )  ,
    `tinyint` TINYINT  ,
    `text` TEXT  ,
    `date` DATE  ,
    `smallint` SMALLINT  ,
    `mediumint` MEDIUMINT  ,
    `int` INT  ,
    `bigint` BIGINT  ,
    `float` FLOAT( 10, 2 )  ,
    `double` DOUBLE  ,
    `decimal` DECIMAL( 10, 2 )  ,
    `datetime` DATETIME  ,
    `timestamp` TIMESTAMP  ,
    `time` TIME  ,
    `year` YEAR  ,
    `char` CHAR( 10 )  ,
    `tinyblob` TINYBLOB  ,
    `tinytext` TINYTEXT  ,
    `blob` BLOB  ,
    `mediumblob` MEDIUMBLOB  ,
    `mediumtext` MEDIUMTEXT  ,
    `longblob` LONGBLOB  ,
    `longtext` LONGTEXT  ,
    `enum` ENUM( '1', '2', '3' )  ,
    `set` SET( '1', '2', '3' )  ,
    `bool` BOOL  ,
    `binary` BINARY( 20 )  ,
    `varbinary` VARBINARY( 20 )
) ENGINE = MYISAM;

лучшие практики создания MySQL База данных

Несколько правил помогут сохранить читаемость ваших скриптов:

  • Используйте заглавные буквы для ключевых слов SQL, например: “DROP SCHEMA IF EXISTS `MyFlixDB`;”
  • Завершайте все SQL-команды точкой с запятой.
  • Избегайте использования пробелов в названиях схем, таблиц и полей. Вместо этого используйте подчеркивания для разделения названий схем, таблиц и полей.
  • Для создания новых таблиц предпочтительнее использовать InnoDB вместо MyISAM, поскольку InnoDB поддерживает транзакции, блокировку на уровне строк и внешние ключи.

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

Как создать MySQL Рабочая среда ER-диаграмма Прямое проектирование

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

Мы создали ER диаграмма в нашем ER моделирование урок. Теперь мы используем эту ER-модель для генерации SQL-скриптов, которые создадут нашу базу данных.

Создание базы данных MyFlix на основе модели MyFlix ER

Шаг 1) Откройте ER-модель базы данных MyFlix. что вы создали ранее.

Шаг 2) Выберите передового инженера

Щелкните меню «База данных» и выберите «Инженер по внедрению».

Выберите перспективного инженера в MySQL Верстак

Шаг 3) Варианты подключения

В следующем окне вы сможете подключиться к экземпляру MySQL сервер. Щелкните раскрывающийся список сохраненных подключений и выберите локальный хост. Нажмите «Выполнить».

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

Шаг 4) Выберите из представленных ниже вариантов.

В появившемся мастере выберите указанные ниже параметры. Нажмите «Далее».

Варианты перспективного проектирования для базы данных MyFlix

Шаг 5) Оставьте выбранные параметры по умолчанию и нажмите «Далее».

На следующем экране отобразится сводная информация об объектах в нашей EER-диаграмме. Наша база данных MyFlix содержит 5 таблиц. Оставьте выбранные параметры по умолчанию и нажмите «Далее».

Сводная информация об объектах на диаграмме EER MyFlix

Шаг 6) Revпросмотреть SQL-скрипт

В окне ниже отображается предварительный просмотр SQL-скрипта, который создает нашу базу данных. Сохраните скрипт в файл *.sql или скопируйте его в буфер обмена, затем нажмите «Далее».

Предварительный просмотр сгенерированного SQL-скрипта

Шаг 7) Подтверждение прогресса

Ниже представлено окно, которое появляется после создания базы данных в выбранной системе. MySQL Экземпляр сервера. Таблицы из ER-модели теперь физически находятся на сервере.

Окно отслеживания прогресса внесения изменений в проект.

База данных вместе с фиктивными данными прилагается. Мы будем использовать эту базу данных в последующих уроках. Просто импортируйте её. MySQL Рабочий стол для начала работы.

Нажмите здесь, чтобы загрузить MyFlixDB

Часто задаваемые вопросы (FAQ)

Нет разницы в MySQLКоманда CREATE SCHEMA является псевдонимом для команды CREATE DATABASE, и обе команды создают один и тот же объект. В других системах, таких как... OracleСхема и база данных остаются отдельными понятиями.

Запустите команду DROP DATABASE IF EXISTS movies; с клиентской стороны или из MySQL ВерстакЭта команда безвозвратно удалит базу данных и все таблицы в ней, поэтому сначала сделайте резервную копию.

Для этой учетной записи необходимы права CREATE на глобальном уровне. Администраторы предоставляют их с помощью команды GRANT CREATE ON *.* TO 'user'@'localhost';. Без этих прав сервер возвращает ошибку "доступ запрещен".

Да. Искусственный интеллект преобразует простое описание ваших сущностей в скрипты CREATE TABLE с ключами и типами данных. Всегда проверяйте сгенерированные типы, длины и ограничения перед запуском скрипта на рабочем сервере.

Функции ИИ в современных клиентах баз данных читают ваши ER диаграмма или историю запросов и предложения по исправлению ошибок нормализации, кандидатам на индексацию и корректировке типов данных. Эти предложения ускоряют проверку проекта, но каждое изменение все равно утверждается человеком.

Подведем итог этой публикации следующим образом: