Как создать таблицу в mysql через консоль

Обновлено: 03.07.2024

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

В этой главе предполагается, что инструмент mysql запущен и подключен к серверу базы данных MySQL. Если это не так, и вы не знаете, как этого добиться, обратитесь к главе Инструмент командной строки mysql. Кроме того, команды SQL, описанные в этой главе, могут выполняться в обозревателе запросов MySQL.

Содержание

Создание новой базы данных MySQL

Новая база данных создается с помощью оператора SQL CREATE DATABASE, за которым следует имя создаваемой базы данных. Для этой цели также можно использовать оператор CREATE SCHEMA. Например, чтобы создать новую базу данных с именем MySampleDB, в командной строке mysql> нужно ввести следующий оператор:

В случае успеха команда выдаст вывод, аналогичный следующему:

Если указанное имя базы данных конфликтует с существующей базой данных, MySQL отобразит сообщение об ошибке, сообщающее об этом факте:

В этом случае следует выбрать другое имя базы данных или использовать параметр ЕСЛИ НЕ СУЩЕСТВУЕТ. Эта опция создает базу данных только в том случае, если она еще не существует:


сообщить об этом объявлении

Создание таблиц с помощью SQL

Новые таблицы добавляются в существующую базу данных с помощью инструкции SQL CREATE TABLE. За оператором CREATE TABLE следует имя создаваемой таблицы, за которым следует разделенный запятыми список имен и определений каждого столбца таблицы:

CREATE TABLE table_name ( определения столбца_name, определения table_name . PRIMARY KEY=(column_name)) ENGINE= тип_двигателя;

Поле определений для каждого столбца определяет такую ​​информацию, как тип данных столбца, может ли столбец быть NULL и автоматически увеличивается ли значение столбца. Оператор CREATE TABLE также позволяет указать столбец (или группу столбцов) в качестве первичного ключа (описание первичных ключей см. в разделе Основы баз данных).

Прежде чем создать таблицу, необходимо выбрать базу данных, чтобы MySQL знал, где создать таблицу. Это достигается с помощью инструкции SQL USE:

Выбрав базу данных, в следующем примере создается таблица, состоящая из трех столбцов с именами customer_id, customer_name и customer_address. Столбцы customer_id и customer_name должны содержать значения (т. е. НЕ NULL). customer_id содержит целочисленное значение, которое будет автоматически увеличиваться при добавлении новых строк, а остальные содержат строки символов длиной до 20 символов. Первичный ключ определяется как customer_id

Значения NULL и NOT NULL

Если для столбца задано значение NULL, строка может быть добавлена ​​в базу данных, когда этому столбцу не присвоено значение. И наоборот, если столбец определен как NOT NULL, ему должно быть присвоено значение, прежде чем строку можно будет добавить в таблицу.

Первичные ключи

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

Первичный ключ определяется с помощью оператора PRIMARY KEY во время создания таблицы. Если используется несколько столбцов, они разделяются запятыми:

В следующем примере таблица создается с использованием двух столбцов в качестве первичного ключа:

AUTO_INCREMENT

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

При использовании AUTO_INCREMENT необходимо соблюдать два правила. Во-первых, только одному столбцу в таблице может быть присвоен статус AUTO_INCREMENT. Во-вторых, столбец AUTO_INCREMENT должен быть проиндексирован (например, путем объявления его первичным ключом).

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

MySQL можно запросить для получения самого последнего значения приращения с помощью функции last_insert_id() следующим образом:

Определение значений по умолчанию во время создания таблицы

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

Значения по умолчанию задаются с помощью ключевого слова DEFAULT в операторе CREATE TABLE. Например, следующая инструкция SQL задает значение по умолчанию для столбца sales_quantity:

Если при вставке новой строки количество не определено, MySQL вставит значение по умолчанию, равное 1.

Типы ядра базы данных MySQL

  • InnoDB. InnoDB появилась в версии MySQL 4.0 и классифицируется как безопасная для транзакций база данных. Механизм базы данных, безопасный для транзакций, гарантирует, что все транзакции базы данных будут выполнены на 100 %, и откатывает любые частично завершенные транзакции (например, в результате сбоя сервера или электропитания). Это гарантирует, что база данных никогда не будет подвергаться частично завершенным обновлениям данных. Недостатком механизма базы данных InnoDB является то, что он не поддерживает полнотекстовый поиск.
  • MyISAM. Механизм базы данных MySQL MyISAM представляет собой высокопроизводительный механизм с поддержкой полнотекстового поиска. За такую ​​производительность и функциональность приходится платить небезопасностью транзакций.
  • ПАМЯТЬ. Механизм базы данных MEMORY эквивалентен базе данных MyISAM с точки зрения функциональности, за исключением того, что все данные хранятся в памяти, а не на диске. Это делает двигатель очень быстрым. Временный характер данных в памяти делает этот механизм более подходящим для хранения временных таблиц.

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

Чтобы указать тип механизма для таблицы, просто поместите соответствующее определение ENGINE= после определения столбцов таблицы. В следующем примере указан механизм MEMORY:

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

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

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

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

  • Доступ к окну терминала/командной строке
  • Система, работающая под управлением MySQL (узнайте, как проверить версию MySQL)
  • Учетная запись пользователя MySQL с правами root или администратора

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

Таблица MySQL хранит и упорядочивает данные в столбцах и строках, как это определено во время создания таблицы.

Общий синтаксис для создания таблицы в MySQL:

Примечание. [ЕСЛИ НЕ СУЩЕСТВУЕТ] проверяет наличие идентичной таблицы в базе данных. Запрос не будет выполнен, если идентичная таблица уже существует.

Шаг 1. Войдите в оболочку MySQL

<р>1. Откройте окно терминала и войдите в оболочку MySQL. Используйте либо существующую учетную запись пользователя MySQL, либо войдите в систему как пользователь root.

(Замените username\root своим именем пользователя. )

<р>2. Введите пароль для своей учетной записи.

Приглашение mysql> означает, что вы вошли в оболочку MySQL.

Войти в оболочку MySQL .

Примечание. Если вы получили ошибку Command Not Found при попытке войти в оболочку MySQL, не беспокойтесь. Прочтите нашу статью, чтобы исправить ошибку «Команда не найдена» в MySQL.

Шаг 2. Создайте базу данных

Давайте создадим базу данных фильмы.

<р>1. Создайте базу данных с помощью инструкции CREATE:

<р>2. Затем убедитесь, что база данных была создана, показав список всех баз данных. Используйте оператор SHOW:

Терминал выводит список баз данных и информацию о времени выполнения запроса:

Создание базы данных в MySQL». ширина=

<р>3. Выберите базу данных, чтобы внести в нее изменения, используя оператор USE:

Шаг 3. Создайте таблицу

Мы создадим таблицу, содержащую информацию о двух фильмах:

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

<р>2. Убедитесь, что таблица создана с помощью команды DESCRIBE:

Терминал выводит информацию о таблице:

  • Поле — указывает имя столбца.
  • Тип — указывает тип данных для столбца (varchar для символов, int для чисел).
  • Null — указывает, может ли столбец оставаться с нулевыми значениями.
  • Ключ — отображает основной столбец.
  • По умолчанию — отображает значение столбца по умолчанию.
  • Дополнительно — указывает дополнительную информацию о столбцах.

Проверка создания таблицы .

<р>3. Вставьте информацию о фильме в порядке столбцов: название, жанр, режиссер и год выпуска. Используйте команду ВСТАВИТЬ:

Загрузка данных в стол». ширина=

<р>4. Повторите предыдущий шаг со вторым фильмом. Используйте команду SELECT для отображения таблицы:

Терминал распечатывает таблицу movie:

Отображение созданной таблицы.

Примечание. Если вы хотите удалить таблицу, следуйте нашему руководству о том, как удалить таблицу в MySQL.

Создать таблицу с помощью скрипта файла

Есть возможность создать таблицу MySQL с помощью скрипта.

<р>1. Используйте предпочитаемый текстовый редактор для создания файла и введите следующий синтаксис:

<р>2. После ввода синтаксиса сохраните файл и выйдите из текстового редактора.

Создание сценария файла.

<р>3. Скопируйте файл в MySQL с помощью следующей команды:

Сценарий запускается автоматически после копирования. В нашем случае создается таблица с данными из файлаmovies1.sql.

<р>4. Войдите в оболочку MySQL:

Копирование скрипт для MySQL». ширина=

<р>5. Убедитесь, что сценарий успешно выполнен, выбрав только что созданную таблицу:

Переход к базе данных.

Запрос данных MySQL

Существует несколько вариантов запроса данных из таблицы MySQL. Используя операторы SELECT и VIEW, вы можете эффективно манипулировать данными и находить их.

Отображение данных столбца

Отображение данных столбца с помощью команды SELECT:

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

Отображение данных столбца.

Создать представление

Представления — это SQL-запросы, которые отображают данные на основе определенных параметров.

<р>1. Создайте представление с именем minimum_release_year для отображения названий фильмов, год выпуска которых после 1990. Используйте команду CREATE VIEW и определите параметры запроса:

<р>2. Отобразите представление с помощью команды SELECT:

В выходных данных отображаются фильмы, выпущенные после 1990 года.

Создание представления.

Изменить представление

Команда ALTER VIEW MySQL изменяет параметры запроса ранее созданного представления. Например, мы изменим представление minimum_release_year, чтобы отображались названия фильмов, год выпуска которых предшествует 2018 году.

<р>1. Для этого запустите команду ALTER VIEW с новыми параметрами:

<р>2. Используйте команду SELECT, чтобы убедиться, что представление было изменено:

Теперь в выводе отображаются фильмы, выпущенные до 2018 года.

Использование команды ALTER VIEW для изменить ранее созданный вид.

Примечание. Используйте базу знаний phoenixNAP, чтобы найти другие руководства по MySQL, такие как MySQL Triggers или MySQL Date Function и многое другое.

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

Работа с базами данных и таблицами имеет решающее значение для организации данных. Если вы находите оболочку MySQL слишком пугающей, рассмотрите возможность установки Workbench для удобного графического интерфейса, в котором вы можете управлять базами данных MySQL и создавать их. Если вам интересно узнать больше о правильной организации таблиц данных, обязательно ознакомьтесь с тем, что такое нормализация базы данных. А чтобы проверить размер таблицы в базе данных MySQL, прочитайте нашу статью, как проверить размер базы данных и таблицы MySQL.

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

Эта статья относится только к продуктам, перечисленным на боковой панели «Сведения о статье». Если ваша учетная запись включает cPanel, вам следует использовать ее для управления базами данных и пользователями MySQL. Информацию о том, как это сделать, см. в этой статье.

Создание пользователей и баз данных

Чтобы создать базу данных и пользователя MySQL, выполните следующие действия:

  1. В командной строке войдите в MySQL как пользователь root:
  2. Введите корневой пароль MySQL и нажмите Enter.

Чтобы создать пользователя базы данных, введите следующую команду. Замените username на пользователя, которого вы хотите создать, и замените password на пароль пользователя:

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

Чтобы предоставить пользователю все разрешения только для базы данных с именем dbname, используйте следующую команду:

Чтобы войти в MySQL как пользователь, которого вы только что создали, введите следующую команду. Замените username именем пользователя, созданного на шаге 3:

Чтобы создать базу данных, введите следующую команду. Замените dbname именем базы данных, которую вы хотите создать:

Для работы с новой базой данных введите следующую команду. Замените dbname именем базы данных, созданной на шаге 7:

Теперь вы можете работать с базой данных. Например, следующие команды демонстрируют, как создать базовую таблицу с именем example и как вставить в нее некоторые данные:

Использование файлов сценариев SQL

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

Следующая процедура демонстрирует, как использовать файл сценария SQL для создания и заполнения базы данных:

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

Создайте файл с именем example.sql и откройте его в предпочитаемом текстовом редакторе. Скопируйте и вставьте в файл следующий текст:

Замените dbname на имя базы данных, которую вы хотите создать, и tablename на имя таблицы, которую вы хотите создать.
< /p>

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

Чтобы обработать сценарий SQL, введите следующую команду. Замените username именем пользователя, созданного на шаге 1:

Программа mysql обрабатывает файл сценария оператор за оператором. Когда он завершится, база данных и таблица будут созданы, и таблица будет содержать данные, указанные вами в операторах INSERT.

Удаление таблиц и баз данных

Чтобы удалить таблицу, введите следующую команду в приглашении mysql>. Замените tablename именем таблицы, которую вы хотите удалить:

Аналогичным образом, чтобы удалить всю базу данных, введите следующую команду в приглашении mysql>. Замените dbname именем базы данных, которую вы хотите удалить:

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

Удаление пользователей

Чтобы просмотреть список всех пользователей, введите в командной строке mysql> следующую команду:

Чтобы удалить определенного пользователя, введите следующую команду в приглашении mysql>. Замените username именем пользователя, которого вы хотите удалить:

Создание базы данных — это простая часть, но на данный момент она пуста, как сообщает SHOW TABLES:

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

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

Как насчет возраста? Это может быть интересно, но хранить в базе данных нехорошо. Возраст меняется с течением времени, а это значит, что вам придется часто обновлять свои записи. Вместо этого лучше хранить фиксированное значение, например дату рождения. Затем, когда вам понадобится возраст, вы можете рассчитать его как разницу между текущей датой и датой рождения. MySQL предоставляет функции для выполнения арифметических операций с датами, так что это несложно. Сохранение даты рождения, а не возраста, имеет и другие преимущества:

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

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

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

Используйте оператор CREATE TABLE, чтобы указать структуру таблицы:

VARCHAR — хороший выбор для столбцов имени, владельца и вида, поскольку значения столбцов различаются по длине. Длины в этих определениях столбцов не обязательно должны быть одинаковыми и не должны быть равны 20 . Обычно вы можете выбрать любую длину от 1 до 65535, что вам кажется наиболее разумным. Если вы сделаете неверный выбор и позже выяснится, что вам нужно более длинное поле, MySQL предоставляет оператор ALTER TABLE.

Для представления пола в записях о животных можно выбрать несколько типов значений, например "m" и "f" или, возможно, "самец" и "самка". Проще всего использовать отдельные символы «m» и «f».

Использование типа данных DATE для столбцов рождения и смерти является довольно очевидным выбором.

После того, как вы создали таблицу, SHOW TABLES должен вывести некоторые данные:

Чтобы убедиться, что ваша таблица была создана именно так, как вы ожидали, используйте оператор DESCRIBE:

Вы можете использовать DESCRIBE в любое время, например, если вы забыли названия столбцов в таблице или их типы.

Дополнительную информацию о типах данных MySQL см. в главе 11, Типы данных.

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

Прежде чем вы начнете узнавать о том, как создать таблицу в MySQL, в этой статье предполагается, что вы уже установили MySQL в своей системе и имеете право управлять созданием и использованием баз данных в MySQL. Если вы еще не установили MySQL, у нас есть специальная статья, в которой показано, как установить MySQL в Ubuntu 20.04 (Как установить и настроить базу данных MySQL в Ubuntu 20.04 — подсказка для Linux).

Чтобы начать процесс, откройте терминал и запустите команду mysql -V, чтобы проверить, установлен ли MySQL в вашей системе:

Если у вас установлена ​​последняя версия, вы можете проверить состояние службы MySQL вашей системы, введя следующее:

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

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

Если вы еще не установили пароль root, вы можете пропустить часть «-p».

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

Выберите базу данных, выполнив команду «USE» в оболочке MySQL следующим образом:

После получения вывода «База данных изменена» вы можете перейти к шагу создания таблицы в базе данных. Но прежде чем приступить к созданию таблицы, сначала взгляните на таблицы, которые существуют в выбранной вами базе данных. Вы можете вывести список всех таблиц с помощью команды «ПОКАЗАТЬ ТАБЛИЦЫ».

Как видите, в выбранной нами базе данных либо есть две таблицы, либо нет таблицы.

Есть два способа создать таблицу в MySQL. Один метод использует предложение «IF NOT EXISTS», чтобы проверить, существует ли уже таблица с тем же именем, что и поисковый запрос. Другой метод выполняется без использования предложения «ЕСЛИ НЕ СУЩЕСТВУЕТ».

Синтаксис

Синтаксис для создания таблицы в MySQL следующий:

  • Предложение «ЕСЛИ НЕ СУЩЕСТВУЕТ» предотвратит ошибки, если в этой базе данных уже существует таблица с таким именем.
  • table_name — это имя таблицы, которую вы хотите создать.
  • В скобках мы определяем столбцы (разделенные запятой), их тип и ограничения таблицы в конце.
  • Имя столбца информирует о создании столбца.
  • Тип — это тип данных данного столбца (который может быть INT, CHAR или VARCHAR) с длиной символов в круглых скобках; т. е. VARCHAR(20).
  • В конце синтаксиса мы определяем ограничения таблицы, такие как ПЕРВИЧНЫЙ КЛЮЧ, ВНЕШНИЙ КЛЮЧ и т. д.

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

Предположим, вы хотите создать таблицу с именем "author_table", содержащую четыре столбца: "author_id", "author_name", "author_sex" и "author_description". Столбец "author_id" будет первичным ключом, которые будут назначены позже в ограничениях. В целом оператор MySQL для создания таблицы будет выглядеть так:

После создания таблицы и настройки вывода "Запрос выполнен успешно, затронуто 0 строк (0,35 сек.)", мы теперь рассмотрим таблицы с помощью следующей команды:

Теперь у нас есть еще одна таблица в выбранной нами базе данных.

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

И это все! Вы успешно создали таблицу в MySQL.

Заключение

В этой статье подробно объясняется синтаксис создания таблицы, включая простой, но полезный пример создания новой таблицы в MySQL.

Об авторе

Шехроз Азам

Разработчик Javascript и энтузиаст Linux с 4-летним опытом работы в промышленности и проверенными ноу-хау для объединения творческих и юзабилити точек зрения, что приводит к созданию веб-приложений мирового класса. У меня есть опыт работы с Vue, React и Node.js, и в настоящее время я работаю над написанием статей и созданием видео.

Читайте также: