В этой статье мы покажем, как создать базу данных MySQL, добавить в неё таблицу и заполнить данными при помощи командной строки. Для примера будем делать список товаров для книжного магазина.
Что внутри
- Подключиться к серверу и зайти в MySQL
- Создать базу данных
- Создать таблицу
- Создать запись в таблице
- Отредактировать запись
- Удалить строку, таблицу и базу данных
- Выйти из MySQL
Подключиться к серверу и зайти в MySQL
Сначала подключитесь к серверу по SSH. Обычно хостинг-провайдеры присылают логин и пароль для подключения в письме об активации хостинга. У нас это письмо называется по-разному в зависимости от типа хостинга: «Ваш виртуальный хостинг готов к использованию», «Это ваш VPS готов?» или «Выделенный сервер заказывали?».
После подключения к серверу авторизуйтесь как пользователь MySQL:
mysql -u имя_пользователя -p
Если подключаетесь к MySQL впервые, в системе будет только один пользователь — root. Пароль от root лежит в конфигурационном файле .my.cnf. Вы можете открыть его с помощью команды cat:
cat .my.cnf
В файле будет стандартный пароль. Он может оказаться нерабочим, если его поменяли вручную и забыли обновить в файле. В этом случае попробуйте сбросить пароль.
Создать базу данных
Все команды в MySQL должны заканчиваться точкой с запятой. Этот знак означает окончание запроса. Без него MySQL-сервер не поймёт, что перед ним команда, поэтому после нажатия клавиши Enter ничего не произойдёт.
Если забыли закончить команду по правилам, вводить её заново не обязательно. Просто поставьте точку с запятой в следующей строке и снова нажмите Enter.
Перед тем как создать новую базу данных, проверьте список всех бд на MySQL-сервере при помощи команды SHOW DATABASES:
SHOW DATABASES;
Результат будет выглядеть примерно так:
Чтобы создать базу данных MySQL, используйте команду CREATE DATABASE:
CREATE DATABASE название_базы_данных;
Для нашего примера с книжным магазином подойдёт название bookstore:
CREATE DATABASE bookstore;
Просто создать базу данных недостаточно. Чтобы с ней работать, нужно также выбрать её отдельной командой. Это придётся делать каждый раз после подключения к MySQL.
USE bookstore;
Создать таблицу
Информация внутри базы данных MySQL хранится в таблицах. Их нужно создавать отдельно с помощью команды CREATE TABLE. Вы вводите одной командой всю структуру таблицы:
CREATE TABLE название_таблицы(
название_столбца ПАРАМЕТР,
название_столбца ПАРАМЕТР,
название_столбца ПАРАМЕТР
);
Параметр — это правило для информации внутри столбца. С его помощью можно сделать поле обязательным для заполнения, разрешить использовать в столбце только цифры или наоборот — только буквы.
Вот небольшой список часто используемых параметров:
- AUTO_INCREMENT — автоматически нумеровать каждую новую запись. Можно сделать отдельный столбец с нумерацией строк в таблице;
- CHAR — можно использовать только символы;
- INT — можно использовать только целые числа;
- NOT NULL — поле не должно быть пустым;
- PRIMARY KEY — в каждой строке должны быть только уникальные значения.
Обычно параметры перечисляют один за другим прямо в строке со столбцом, как в примере выше. Но есть одно исключение — параметр PRIMARY KEY. Когда он присутствует в команде больше одного раза, MySQL-сервер показывает ошибку.
Поэтому, если в таблице уникальные значения должны быть в нескольких столбцах, запишите PRIMARY KEY отдельной строкой и добавьте названия столбцов в скобках:
PRIMARY KEY (название_столбца, название_столбца, название_столбца)
Теперь давайте создадим первую таблицу с названием books и четырьмя столбцами: номер записи, название книги, автор и цена. Команда для создания такой таблицы будет выглядеть так:
CREATE TABLE books( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title CHAR(100) NOT NULL, author CHAR(40) NOT NULL, price INT NOT NULL );
Создать запись в таблице
Таблицу создали, остаётся наполнить её информацией. Это делают при помощи команды INSERT. Вы вводите одной командой значения сразу для всей строки:
INSERT INTO название_таблицы (название_столбца1, название_столбца2, название_столбца3) VALUES (“значение1“, “значение2“, “значение3“);
Заметьте, что значения, которые вы хотите поместить в столбцы, нужно брать в кавычки, а названия таблиц и столбцов — нет.
Столбец id не указываем, потому что в нём будут только цифры, которые MySQL добавит автоматически, благодаря параметру AUTO_INCREMENT.
Подставим значения для первой строки:
INSERT INTO books (title,author,price) VALUES("Green Mile","Stephen King","17");
Потом добавим ещё одну строку:
INSERT INTO books (title,author,price) VALUES("The Casal Vacancy", "J.K.Rowling", "23");
И посмотрим, как теперь выглядит таблица:
SELECT * FROM books;
Результат должен быть таким:
Отредактировать запись
Если вы случайно ввели значение с опечаткой, используйте команду UPDATE, чтобы отредактировать конкретное поле:
UPDATE название_таблицы SET название_столбца = “новое_значение” WHERE название_столбца = “значение“;
После SET укажите название столбца, в котором хотите изменить значение. А после WHERE — название какого-то другого столбца из этой же строки. Это нужно, чтобы помочь MySQL-серверу понять, куда именно вписывать новое значение.
Подставим реальные значения, чтобы исправить опечатку в слове Casal в названии второй книги:
UPDATE books SET title = "The Casual Vacancy" WHERE id = "2";
А после снова просмотрим таблицу и убедимся, что опечатки больше нет:
Удалить строку, таблицу и базу данных
Удаление в MySQL не требует дополнительного подтверждения. Всё удаляется с первого раза и отменить это нельзя, поэтому используйте команды аккуратно.
Если какая-то строка в таблице больше не нужна, удалите её с помощью команды DELETE FROM:
DELETE FROM название_таблицы WHERE название_столбца = “значение_столбца“;
Допустим, книги “The Casual Vacancy” на самом деле нет в продаже. Удалим строку с ней.
DELETE FROM books WHERE id = "2";
Если хотите очистить все строки сразу, но сохранить структуру таблицы, используйте команду TRUNCATE:
TRUNCATE TABLE название_таблицы;
Чтобы полностью удалить таблицу, используйте команду DROP:
DROP TABLE название_таблицы;
Похожая команда удалит базу данных MySQL:
DROP DATABASE название_базы_данных;
Выйти из MySQL
В конце работы отключитесь от MySQL-сервера:
/q