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

Содержание:

Anonim

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

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

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

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

В этом руководстве по SQL вы узнаете:

  • Как создать базу данных
  • Как создать таблицу в MySQL
  • Типы данных
  • ER-диаграмма рабочей среды MySQL forward Engineering

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

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

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

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

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

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

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

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

ЗДЕСЬ

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

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

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

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. Дата / время.

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

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

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

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

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

СИМВОЛ () Фиксированный раздел длиной от 0 до 255 символов.
VARCHAR () Раздел переменной длиной от 0 до 255 символов.
TINYTEXT Строка длиной не более 255 символов.
ТЕКСТ Строка максимальной длиной 65535 символов.
BLOB Строка максимальной длиной 65535 символов.
СРЕДНИЙ ТЕКСТ Строка максимальной длиной 16777215 символов.
СРЕДНИЙ БЛОК Строка максимальной длиной 16777215 символов.
LONGTEXT Строка максимальной длиной 4294967295 символов.
LONGBLOB Строка максимальной длиной 4294967295 символов.

Дата / время

ДАТА ГГГГ-ММ-ДД
ДАТА ВРЕМЯ ГГГГ-ММ-ДД ЧЧ: ММ: СС
TIMESTAMP ГГГГММДДЧЧММСС
ВРЕМЯ ЧЧ: ММ: СС

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

ENUM Для хранения текстового значения, выбранного из списка предопределенных текстовых значений
НАБОР Это также используется для хранения текстовых значений, выбранных из списка предопределенных текстовых значений. Может иметь несколько значений.
BOOL Синоним TINYINT (1), используется для хранения логических значений
БИНАРНЫЙ Подобно 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 ;

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

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

ER-диаграмма MySQL Workbench - форвард-инжиниринг

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

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

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

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

2. Щелкните меню базы данных. Выбрать форвардного инженера

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

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

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

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

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

Резюме

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

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

Щелкните здесь, чтобы загрузить MyFlixDB