Создание базы данных в MySQL (CREATE DATABASE)
Дата: 16.04.2019 Категория: MySQL Комментарии: 0
В этом руководстве вы узнаете, как создать базу данных в системе управления реляционными базами данных, такой как MySQL, SQL Server и т.д., используя язык SQL.
Создание базы данных
Прежде чем что-то делать с данными, нам нужно сначала создать базу данных. Мы предполагаем, что у вас уже есть MySQL или SQL Server, доступный для использования, а также у вас есть все необходимые привилегии, если нет, пожалуйста, ознакомьтесь с руководством по началу работы.
Для создания базы данных используется оператор CREATE DATABASE.
Синтаксис
Основной синтаксис для создания базы данных выглядит так:
В следующем примере мы создадим базу данных с именем demo:
Создание базы данных не выбирает ее для дальнейшего использования. Прежде чем двигаться дальше, нам нужно выбрать целевую базу данных с помощью оператора USE. Например:
Эта команда устанавливает базу данных demo в качестве используемой базы данных для всех будущих команд.
Создание базы данных в MySQL
Давайте создадим базу данных в MySQL, используя инструмент командной строки.
Шаг 1: вызов инструмента командной строки MySQL
Чтобы вызвать командную строку MySQL, мы должны сначала войти на сервер MySQL. Чтобы войти в систему как пользователь root, введите следующую команду в терминале и нажмите ввод. Вам будет предложено ввести пароль. Введите свой пароль и нажмите ввод, если он верен, появится приглашение mysql>, с помощью которого вы сможете выполнять команды SQL и просматривать результаты.
Шаг 2: Создание базы данных MySQL
Теперь выполните следующую команду, чтобы создать базу данных с именем demo.
Если база данных создана успешно, вы увидите что-то вроде этого:
Если вы попытаетесь создать базу данных, которая уже существует, вы получите сообщение об ошибке, чтобы избежать этого в MySQL, вы можете использовать необязательное условие IF NOT EXISTS, как указано ниже:
Шаг 3: Выбор базы данных в MySQL
Введите следующую команду, нажмите Enter. Вы увидите вывод «База данных изменена» (Database changed). Теперь наша демонстрационная база данных выбрана в качестве базы данных по умолчанию для всех будущих операций.
Если вы хотите увидеть список существующих баз данных на сервере MySQL, вы можете выполнить инструкцию SHOW DATABASES; в командной строке.
Как создать базу данных MySQL
В этой статье мы покажем, как создать базу данных MySQL, добавить в неё таблицу и заполнить данными при помощи командной строки. Для примера будем делать список товаров для книжного магазина.
Что внутри
Подключиться к серверу и зайти в MySQL
Сначала подключитесь к серверу по SSH. Обычно хостинг-провайдеры присылают логин и пароль для подключения в письме об активации хостинга. У нас это письмо называется по-разному в зависимости от типа хостинга: «Ваш виртуальный хостинг готов к использованию», «Это ваш VPS готов?» или «Выделенный сервер заказывали?».
После подключения к серверу авторизуйтесь как пользователь MySQL:
Если подключаетесь к MySQL впервые, в системе будет только один пользователь — root. Пароль от root лежит в конфигурационном файле .my.cnf. Вы можете открыть его с помощью команды cat:
В файле будет стандартный пароль. Он может оказаться нерабочим, если его поменяли вручную и забыли обновить в файле. В этом случае попробуйте сбросить пароль.
Создать базу данных
Все команды в MySQL должны заканчиваться точкой с запятой. Этот знак означает окончание запроса. Без него MySQL-сервер не поймёт, что перед ним команда, поэтому после нажатия клавиши Enter ничего не произойдёт.
Если забыли закончить команду по правилам, вводить её заново не обязательно. Просто поставьте точку с запятой в следующей строке и снова нажмите Enter.
Перед тем как создать новую базу данных, проверьте список всех бд на MySQL-сервере при помощи команды SHOW DATABASES:
Результат будет выглядеть примерно так:
Чтобы создать базу данных MySQL, используйте команду CREATE DATABASE:
CREATE DATABASE название_базы_данных ;
Для нашего примера с книжным магазином подойдёт название bookstore:
Просто создать базу данных недостаточно. Чтобы с ней работать, нужно также выбрать её отдельной командой. Это придётся делать каждый раз после подключения к MySQL.
Создать таблицу
Информация внутри базы данных MySQL хранится в таблицах. Их нужно создавать отдельно с помощью команды CREATE TABLE. Вы вводите одной командой всю структуру таблицы:
Параметр — это правило для информации внутри столбца. С его помощью можно сделать поле обязательным для заполнения, разрешить использовать в столбце только цифры или наоборот — только буквы.
Вот небольшой список часто используемых параметров:
AUTO_INCREMENT — автоматически нумеровать каждую новую запись. Можно сделать отдельный столбец с нумерацией строк в таблице;
CHAR — можно использовать только символы;
INT — можно использовать только целые числа;
NOT NULL — поле не должно быть пустым;
PRIMARY KEY — в каждой строке должны быть только уникальные значения.
Обычно параметры перечисляют один за другим прямо в строке со столбцом, как в примере выше. Но есть одно исключение — параметр PRIMARY KEY. Когда он присутствует в команде больше одного раза, MySQL-сервер показывает ошибку.
Поэтому, если в таблице уникальные значения должны быть в нескольких столбцах, запишите PRIMARY KEY отдельной строкой и добавьте названия столбцов в скобках:
Теперь давайте создадим первую таблицу с названием books и четырьмя столбцами: номер записи, название книги, автор и цена. Команда для создания такой таблицы будет выглядеть так:
Создать запись в таблице
Таблицу создали, остаётся наполнить её информацией. Это делают при помощи команды INSERT. Вы вводите одной командой значения сразу для всей строки:
Столбец id не указываем, потому что в нём будут только цифры, которые MySQL добавит автоматически, благодаря параметру AUTO_INCREMENT.
Подставим значения для первой строки:
Потом добавим ещё одну строку:
И посмотрим, как теперь выглядит таблица:
Результат должен быть таким:
Отредактировать запись
Если вы случайно ввели значение с опечаткой, используйте команду UPDATE, чтобы отредактировать конкретное поле:
UPDATE название_таблицы SET название_столбца = “ новое_значение ” WHERE название_столбца = “ значение “;
После SET укажите название столбца, в котором хотите изменить значение. А после WHERE — название какого-то другого столбца из этой же строки. Это нужно, чтобы помочь MySQL-серверу понять, куда именно вписывать новое значение.
Подставим реальные значения, чтобы исправить опечатку в слове Casal в названии второй книги:
А после снова просмотрим таблицу и убедимся, что опечатки больше нет:
Удалить строку, таблицу и базу данных
Удаление в MySQL не требует дополнительного подтверждения. Всё удаляется с первого раза и отменить это нельзя, поэтому используйте команды аккуратно.
Если какая-то строка в таблице больше не нужна, удалите её с помощью команды DELETE FROM:
DELETE FROM название_таблицы WHERE название_столбца = “ значение_столбца “;
Допустим, книги “The Casual Vacancy” на самом деле нет в продаже. Удалим строку с ней.
Если хотите очистить все строки сразу, но сохранить структуру таблицы, используйте команду TRUNCATE:
TRUNCATE TABLE название_таблицы ;
Чтобы полностью удалить таблицу, используйте команду DROP:
DROP TABLE название_таблицы ;
Похожая команда удалит базу данных MySQL:
DROP DATABASE название_базы_данных ;
Выйти из MySQL
В конце работы отключитесь от MySQL-сервера:
Создание базы данных mysql от А до Я
Современные компьютеры позволяют обрабатывать большой объем самой разнообразной информации. При этом для пользователя очень важно, чтобы информация была представлена в систематизированной, удобной форме.
Назначение и возможности СУБД mysql
Mysql представляет собой реляционную базу данных, то есть она позволяет обрабатывать и представлять данные в наиболее удобной для человека форме — таблицах.
Таблицы позволяют при обработке информации увеличить:
Созданная БД в mysql характеризуется:
СУБД mysql эффективно применяется в самых разнообразных отраслях и направлениях.
Порядок создания базы данных mysql
Для самостоятельного создания базы данных mysql на хосте необходимо:
Подключение базы данных к серверу mysql
MySQL является многопользовательским программным продуктом, с которым могут работать одновременно несколько пользователей.
В СУБД предусмотрена система, разграничивающая доступ каждому пользователю. Идентификация осуществляется с помощью логина (имени) и пароля.
Для того чтобы подключить базу данных mysql к серверу необходимо:
Последние параметры при необходимости можно уточнить у администратора.
Как осуществить подключение mysql к php?
Для осуществления подключения mysql к php нужно знать четыре атрибута:
1. Необходимо создать файл будущего скрипта в html редакторе:
Благодаря функции « mysql_connect » обеспечивается соединение с сервером, а с помощью функции « mysql_select_db » осуществляется выбор необходимой базы данных.
При несрабатывании функций с помощью оператора « mysql_error() » на дисплей будет выведена причина ошибки.
2. Далее нужно сохранить в корневой директории созданный документ с именем « mysql.php. ».
Этапы подключения delphi к mysql
Для подключения оболочки разработки приложений Delphi к базе данных необходимо, чтобы были установлены и настроены следующие программы:
Подключение delphi к mysql начинается с создания нового Delphi проекта и размещения на форме компонента TADOConnection :
Таким образом, созданная база mysql предоставляет множество возможностей для осуществления удобной и продуктивной работы с большими массивами данных.
Создаем базу данных на примере службы доставки и разбираем запросы SQL
Сегодня мы рассмотрим пример базы данных и различные команды агрегации, группировки, сортировки, соединения таблиц и другое на примере MySQL. Сами данные представляют собой набор таблиц с произвольными названиями и значениями. Структура таблиц и их связи представлены ниже.
Для понимания дальнейшего Вам будут желательно начальные знания SQL и баз данных. Данное пособие поможет структурировать информацию, обновить память и может выступать в роли шпаргалки, которую вы можете использовать при надобности. Запросы на создание всех таблиц находятся тут.
С содержанием таблиц удобно ознакомиться в формате excel:
Таблица «products» Таблица «customers» Таблица «courier_info» Таблица «orders» Таблица «delivery_list» Таблица «orders_products»
Как ни странно, но начнем мы анализ с таблицы, которая не упоминалась выше и не имеет связей с другими. Она представляет собой статистику за год по некоторым ключевым показателям.
Примечание: дабы не загружать статью всеми видами таблиц из запросов, визуально представлены будут только некоторые, а с остальными Вы без проблем можете поэкспериментировать сами.
Table «year_statistics»
Агрегация, группировка, сортировка
Сумма заказов за весь год:
SELECT SUM(amount_of_orders) AS orders_per_year FROM year_statistics;
Убывающая сортировка заказов по месяцам:
SELECT month_name, amount_of_orders
FROM year_statistics
ORDER BY amount_of_orders DESC;
Вывести месяц, где больше всего заказов:
SELECT month_name, amount_of_orders FROM year_statistics
WHERE amount_of_orders = (SELECT MAX(amount_of_orders)
FROM year_statistics);
Популярность районов по количествам клиентов:
SELECT district
FROM customers
GROUP BY district
ORDER BY COUNT(district) DESC;
Сколько каждый курьер доставил заказов:
SELECT courier_id, COUNT(order_id)
From delivery_list
WHERE date_arrived IS NOT NULL
GROUP BY courier_id;
Общие запросы и использование операторов IN, EXISTS, UNION и др.
Выборка клиентов, которые живут в районе «South»:
SELECT * FROM Customers
WHERE district IN (‘South’);
Информация о заказах, которые не были доставлены клиентам:
SELECT * FROM delivery_list
WHERE taken NOT IN (‘Yes’);
Запрос продуктов из меню, которые были заказаны:
SELECT menu_name FROM products
WHERE EXISTS
(SELECT * FROM orders_products
WHERE orders_products.product_id = products.product_id);
Запрос тех продуктов, которые не заказывали:
SELECT menu_name FROM products
WHERE NOT EXISTS
(SELECT * FROM orders_products
WHERE orders_products.product_id = products.product_id);
Получаем общую таблицу с информацией о клиентах и курьеров:
SELECT ‘Customer’ AS category, first_name, last_name, phone_number
FROM customers
UNION
SELECT ‘Employee’ AS category, first_name, last_name, phone_number
FROM courier_info;
INNER, NATURAL, CROSS, LEFT JOIN
Наиболее интересный запрос, который позволяет видеть детали заказа(номер, название блюда, количество и цена). К тому же здесь использован метод ROUND, позволяющий округлять дробные числа:
SELECT orders_products.order_id, products.menu_name, quantity,
ROUND(price*quantity, 2) AS total_price
FROM orders_products
INNER JOIN products ON orders_products.product_id = products.product_id
ORDER BY order_id, quantity;
Еще один довольно любопытный запрос, показывающий детальную информацию по заказам, а также время их доставки:
SELECT *, SEC_TO_TIME(TIMESTAMPDIFF(second, date_get, date_arrived))
AS time_of_delivery
FROM orders
NATURAL JOIN delivery_list;
Не совсем тривиальный запрос на выборку о том, что каждому курьеру на машине доступен любой район из таблицы клиентов:
SELECT DISTINCT courier_info.courier_id, customers.district
FROM courier_info
CROSS JOIN customers WHERE courier_info.delivery_type = ‘car’
ORDER BY courier_id;
И напоследок запрос на информацию об имени клиента, его мобильном телефоне и номере заказа:
SELECT customers.first_name, customers.last_name,
customers.phone_number, orders.order_id
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Заключение
Создание и удаление баз в MySQL/MariaDB
В данных примерах используется командная оболочка mysql и phpMyAdmin.
Если работа ведется на продуктивном сервере баз данных, рекомендуется сделать резервные копии.
Подключение к СУБД
Если мы планируем работать в командной строке, заходим в среду управления MySQL.
а) В Linux вводим команду:
* где root — пользователь, под которым мы будем подключаться к оболочке; ключ -p потребует ввода пароля.
б) В Windows запускаем командную строку — в меню пуск или найдя ее в поиске. Переходим в каталог, с установленной СУБД и запускаем одноименную команду mysql, например:
cd «%ProgramFiles%\MySQL\MySQL Server 5.5\bin\»
* в данном примере предполагается, что у нас установлена MySQL версии 5.5.
* здесь, как и в Linux, идет подключение к mysql/mariadb под учетной записью root с запросом пароля.
Создание новой базы
Для создания базы используется SQL-запрос CREATE DATABASE. Рассмотрим подробнее его использование.
Командная строка
Используйте данный шаблон команды:
> CREATE DATABASE newdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* вышеописанная команда создаст базу данных с названием newdb и кодировкой UTF-8 (самая распространенная и универсальная).
Проверить, что база появилась можно командой:
* данная команда выводит в консоль список баз, созданных в СУБД.
Подключиться к базе можно командой:
phpMyAdmin
Настройка прав доступа
Чтобы к созданной базе можно было подключиться, добавим пользователя:
> GRANT ALL PRIVILEGES ON newdb.* TO dbuser@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION;
* где newdb.* — наша база и все ее таблицы; dbuser@localhost — имя учетной записи, которая будет подключаться с локального сервера; password — придуманный нами пароль.
** В данном примере, учетной записи будут предоставлены полные права (ALL PRIVILEGES). Подробнее о правах в MySQL читайте статью Как создать пользователя MySQL и дать ему права.
Посмотреть список пользователей, которые имеют доступ к базе можно командой:
> SELECT db, host, user FROM mysql.db WHERE db=’newdb’;
* в данном примере мы выведем учетные записи, которым был дан прямой доступ к созданной нами базе. В данном списке не будут отражены пользователи с глобальными правами (например, root).
Поменять пароль пользователю можно одной из команд (в зависимости от версии СУБД):
> SET PASSWORD FOR ‘dbuser’@’localhost’ = PASSWORD(‘new_password’);
> ALTER USER ‘dbuser’@’localhost’ IDENTIFIED BY ‘new_password’;
> UPDATE mysql.user SET Password=PASSWORD(‘new_password’) WHERE USER=’dbuser’ AND Host=’localhost’;
* все 3 команды меняют пароль для пользователя dbuser@localhost на новый — new_password.
При необходимости, удалить пользователя можно командами:
> REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘dbuser’@’localhost’;
> DROP USER ‘dbuser’@’localhost’;
* первая команда отнимает все привилегии, выданные пользователю. Вторая удаляет самого пользователя.
Удаление базы MySQL
Удаление выполняется командой DROP DATABASE.
Командная консоль
Попробуем удалить ранее созданную базу:
> DROP DATABASE newdb;
phpMyAdmin
Выбираем нужную базу галочкой и кликаем по Удалить: