Учебники

6) Создание базы данных

Шаги для создания базы данных Mysql

Создать базу данных двумя способами

1) Выполнение простого запроса SQL

2) С помощью форвард-инжиниринга в MySQL Workbench

В этом уроке вы узнаете

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

Создать базу данных

CREATE DATABASE – это команда SQL для создания базы данных. 

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

CREATE DATABASE movies; 

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

Теперь давайте улучшим наш SQL-запрос, добавив больше параметров и спецификаций.

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

Один сервер MySQL может иметь несколько баз данных. Если вы не единственный, кто обращается к одному и тому же серверу MySQL или вам приходится иметь дело с несколькими базами данных, существует вероятность попытки создать новую базу данных с именем существующей базы данных.  ЕСЛИ НЕ СУЩЕСТВУЕТ, вы можете дать команду серверу MySQL проверить существование базы данных с похожим именем перед созданием базы данных.

Когда IF NOT EXISTS используется, база данных создается только в том случае, если имя не конфликтует с именем существующей базы данных. Без использования IF NOT EXISTS MySQL выдает ошибку.

CREATE DATABASE IF NOT EXISTS movies;

Сопоставление и набор символов

Сопоставление – это набор правил, используемых при сравнении. Многие люди используют MySQL для хранения данных, отличных от английского. Данные хранятся в MySQL с использованием определенного набора символов. Набор символов может быть определен на разных уровнях, а именно: сервер, база данных, таблица и столбцы.

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

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

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

При использовании местных языков, таких как арабский, китайский и т. Д., Рекомендуется выбирать набор символов Unicode (utf-8), который имеет несколько параметров сортировки, или просто придерживаться параметров сортировки по умолчанию utf8-general-ci.

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

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

SHOW DATABASES

Создание таблиц MySQL

MySQL Создать базу данных, таблицы, типы данных

Таблицы могут быть созданы с помощью оператора CREATE TABLE, и он фактически имеет следующий синтаксис.

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

ВОТ

  • «CREATE TABLE» – это тот, кто отвечает за создание таблицы в базе данных.
  • «[ЕСЛИ НЕ СУЩЕСТВУЕТ]» является необязательным и создает таблицу, только если не найдено подходящего имени таблицы.
  • «fieldName`» – это имя поля, а «Тип данных» определяет характер данных, которые будут храниться в поле.
  • «[необязательные параметры]» дополнительная информация о поле, такая как «AUTO_INCREMENT», NOT NULL и т. д.

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

    CREATE  TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
      `membership_number` INT  AUTOINCREMENT ,
      `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. Вы можете использовать любой из них в зависимости от ваших потребностей. Вы всегда должны стараться не недооценивать и не переоценивать потенциальный диапазон данных при создании базы данных.

ТИПЫ ДАННЫХ

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

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

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

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

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

TINYINT () От -128 до 127, нормально от

0 до 255, НЕ ПОДПИСАНО
SMALLINT () От -32768 до 32767, обычно от

0 до 65535 НЕ ПОДПИСАНО.
СРЕДНИЙ () От -8388608 до 8388607, обычно от

0 до 16777215 НЕ ПОДПИСАНО.
INT () От -2147483648 до 2147483647 нормальный от

0 до 4294967295 НЕ ПОДПИСАНО.
BIGINT () От -9223372036854775808 до 9223372036854775807 нормально от

0 до 18446744073709551615 НЕ ПОДПИСАНО.
FLOAT Небольшое приблизительное число с плавающей запятой.
ДВОЙНОЙ (,) Большое число с плавающей запятой.
ДЕСЯТИЧНЫЙ( , ) DOUBLE хранится в виде строки, допускающей фиксированную десятичную точку. Выбор для хранения валютных значений.

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

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

CHAR () Фиксированный раздел длиной от 0 до 255 символов.
VARCHAR () Переменная секция длиной от 0 до 255 символов.
TINYTEXT Строка с максимальной длиной 255 символов.
ТЕКСТ Строка с максимальной длиной 65535 символов.
большой двоичный объект Строка с максимальной длиной 65535 символов.
MEDIUMTEXT Строка с максимальной длиной 16777215 символов.
MEDIUMBLOB Строка с максимальной длиной 16777215 символов.
LONGTEXT Строка с максимальной длиной 4294967295 символов.
LONGBLOB Строка с максимальной длиной 4294967295 символов.

 

Дата / Время

 СВИДАНИЕ YYYY-MM-DD
DATETIME ГГГГ-ММ-ДД ЧЧ: ММ: СС
TIMESTAMP YYYYMMDDHHMMSS
ВРЕМЯ НН: ММ: СС

 

Помимо выше, есть некоторые другие типы данных в MySQL.

ENUM Для сохранения значения текста, выбранного из списка предопределенных значений текста
НАБОР Это также используется для хранения текстовых значений, выбранных из списка предопределенных текстовых значений. Может иметь несколько значений.
BOOL Синоним для TINYINT (1), используется для хранения логических значений
BINARY Подобно CHAR, разница в том, что тексты хранятся в двоичном формате.
VARBINARY Как и в VARCHAR, разница в том, что тексты хранятся в двоичном формате.

 

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

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 ;

 

Лучшие практики

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

MySQL верстак ER диаграмма форвард инжиниринг

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

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

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

1. Откройте модель ER базы данных MyFlix, которую вы создали в предыдущем руководстве.

2. Нажмите на меню базы данных. Выберите форвард инженера

MySQL Создать базу данных, таблицы, типы данных

 

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

MySQL Создать базу данных, таблицы, типы данных

 

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

 

MySQL Создать базу данных, таблицы, типы данных

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

MySQL Создать базу данных, таблицы, типы данных

 

6 .. Появится окно, показанное ниже. Это окно позволяет предварительно просмотреть сценарий SQL для создания нашей базы данных. Мы можем сохранить сценарии в файл * .sql “или скопировать сценарии в буфер обмена. Нажмите следующую кнопку

 

MySQL Создать базу данных, таблицы, типы данных

 

7. Окно, показанное ниже, появляется после успешного создания базы данных на выбранном экземпляре сервера MySQL.

MySQL Создать базу данных, таблицы, типы данных

Резюме

  • Создание базы данных включает перевод логической модели проектирования базы данных в физическую базу данных.
  • MySQL поддерживает несколько типов данных для числовых значений, дат и значений строк.
  • Команда CREATE DATABASE используется для создания базы данных
  • Команда CREATE TABLE используется для создания таблиц в базе данных.
  • MySQL Workbench поддерживает прямое проектирование, которое включает в себя автоматическое создание сценариев SQL из логической модели базы данных, которая может быть выполнена для создания физической базы данных.

База данных вместе с фиктивными данными прилагается. Мы будем использовать эту БД для всех наших дальнейших уроков. Простой импорт БД в MySQL Workbench, чтобы начать

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