Введение
В этой небольшой инструкции мы покажем, как создать новую базу данных в MySQL несколькими способами, как добавить пользователей и выдать им полномочия на доступ к базе.
Подготовка
Перед началом работы у вас должен быть установлен и настроен MySQL-сервер. В этой статье мы не будем показывать, как это сделать. Если у вас еще нет готового сервера, почитайте нашу статью, там мы пошагово описали процесс установки и первоначальной настройки MySQL.
Мы будем работать с сервером, развернутым на виртуальной машине Selectel.
Так как это удаленный сервер, нам понадобится его внешний IP-адрес. В этих примерах мы будем использовать адрес 82.202.199.34.
Подключение к серверу и создание новой базы
Все операции будем показывать на двух примерах: консольный клиент и phpMyAdmin. Если у вас другой инструмент для подключения к серверу, почитайте его документацию или используйте SQL-команды, которые мы будем выполнять при работе через консольный клиент. Они универсальны и подойдут для любого инструмента.
Через консоль
Подключимся к удаленному серверу MySQL:
mysql -u root -h 82.202.199.34 -p
После ввода этой команды нужно ввести пароль от пользователя root, который вы указывали на этапе установки и первоначальной настройки СУБД.
Для начала посмотрим, какие уже есть созданные базы данных:
show databases;
Результат:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
Это все служебные базы. Мы не будем их трогать, а создадим свою БД. Для этого выполним команду для создания новой базы данных MySQL:
CREATE DATABASE my_db_cli;
Снова посмотрим список всех баз:
show databases;
Видим, что наша БД появилась в списке:
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_db_cli |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
Через phpMyAdmin
Чтобы указать сервер для подключения, нужно отредактировать файл config.inc.php. В зависимости от вашей ОС или дистрибутива Linux, этот файл может находиться в разных директориях, поэтому мы не будем указывать конкретный путь. Откройте файл и добавьте в него строчку:
$cfg['Servers'][$i]['host'] = '82.202.199.34';
Теперь откройте интерфейс phpMyAdmin и залогиньтесь на сервер. В левой части экрана находится список созданных баз данных. Мы видим уже созданную нами ранее базу my_db_cli.
Создадим еще одну базу. Для этого над списком БД нажмите кнопку «Создать БД».
Укажем имя новой базы, а кодировку оставим по умолчанию. В нашем примере это:
utf8mb4_unicode_ci.
База данных создана, и теперь она появилась в списке слева:
Настройка и проверка доступа к базе данных
Сейчас у нас есть только root-пользователь, который имеет полный доступ к серверу и может работать с любой БД. Нам нужно создать новых пользователей и выдать им полномочия, чтобы каждый мог работать только с одной базой.
Через консоль
Создадим нового пользователя:
CREATE USER 'user_cli'@'%' IDENTIFIED BY 'password';
Знак процента означает, что пользователь может подключаться к серверу с любого хоста. Теперь выдадим этому пользователю полный доступ на базу my_db_cli:
GRANT ALL PRIVILEGES ON my_db_cli.* TO 'user_cli'@'%' WITH GRANT OPTION;
Через phpMyAdmin
Теперь сделаем то же самое через phpMyAdmin. Переходим на вкладку «Учетные записи пользователей» и в нижней части экрана нажимаем «Добавить учетную запись пользователя».
В следующем окне указываем имя пользователя, хост и пароль.
После создания пользователя сразу откроется экран настройки полномочий. Мы хотим выдать права только на определенную БД, поэтому перейдем на вкладку «База данных» и выберем нужную базу.
На следующем экране нужно указать привилегии. Мы хотим дать полный доступ к базе, поэтому выберем пункт «Отметить все».
Теперь проверим полномочия на примере одного пользователя. Для этого залогинимся под пользователем user_cli и попробуем получить доступ к обеим базам данных.
Подключаемся к серверу:
mysql -u user_cli -h 82.202.199.34 -p
Попробуем выбрать БД, к которой нет доступа:
use my_db_gui;
Ответ сервера:
ERROR 1044 (42000): Access denied for user 'user_cli'@'%' to database 'my_db_gui'
Теперь выберем базу, к которой есть доступ и попробуем создать в ней таблицу:
use my_db_cli;
create table t(id int);
Ошибок не возникло, значит полномочия настроены правильно.
Удаление базы данных
Теперь покажем, как удалить созданные БД. Учтите, что при удалении базы также удаляются все таблицы с данными в ней, поэтому будьте аккуратны и перепроверяйте названия баз, которые собираетесь удалить.
Через консоль
drop database my_db_cli;
Через phpMyAdmin
Выбираем нужную БД, переходим на вкладку «Операции» и нажимаем «Удалить базу данных».
Заключение
Вы узнали, как с помощью командной строки или phpMyAdmin можно выполнить создание новой БД в MySQL, как создавать пользователей и добавлять им права доступа.
Загрузить PDF
Загрузить PDF
MySQL может быть пугающей программой. Все команды должны быть введены через командную строку; нет никакого удобного интерфейса. Поэтому, знание того, как создать базу данных и манипулировать ей, может сохранить много времени и нервов. Следуйте инструкциям, чтобы создать базу данных американских штатов и их населения.
-
1
Создайте базу данных. В командной строке MySQL введите команду
CREATE DATABASE <DATABASENAME>;
. Замените<DATABASENAME>
названием вашей базы данных. Оно не может содержать пробелы.- К примеру, чтобы создать базу данных всех американских штатов, можно ввести
CREATE DATABASE us_states;
- Примечание: Команды необязательно вводить в верхнем регистре.
- Примечание: Все команды MySQL должны оканчиваться «;». Если вы забыли поставить точку с запятой, то просто введите «;» на следующей строке, чтобы началась обработка предыдущей команды.
- К примеру, чтобы создать базу данных всех американских штатов, можно ввести
-
2
Отобразите список доступных баз данных. Введите команду
SHOW DATABASES;
, чтобы отобразить список хранящихся баз данных. Кроме только что созданной базы данных, вы так же увидите базы данныхmysql
иtest
. Сейчас можете их проигнорировать. -
3
Выберите базу данных. Когда база данных создана, нужно ее выбрать, чтобы начать редактирование. Введите команду
USE us_states;
. Вы увидите сообщениеDatabase changed
, которое уведомляет, что сейчас активной базой данных являетсяus_states
. -
4
Создайте таблицу. Таблица — это место хранения информации в базе данных. Чтобы создать таблицу, нужно одной командой ввести всю ее структуру. Чтобы создать таблицу, введите такую команду:
CREATE TABLE states (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, state CHAR(25), population INT(9));
. Эта команда создаст таблицу под названием «states» с тремя полями:id
,state
, andpopulation
.- Команда
INT
указывает на то, что полеid
будет содержать только числа (целые числа). - Команда
NOT NULL
указывает на то, что полеid
не должно быть пустым (обязательно для ввода). -
PRIMARY KEY
обозначает, что полеid
является ключевым полем в таблице. Ключевое поле — это поле, которое не может содержать одинаковых значений. - Команда
AUTO_INCREMENT
будет автоматически присваивать возрастающие значения полюid
, по сути автоматически нумеруя каждую запись. - Команды
CHAR
(символы) andINT
(целые числа) обозначают тип данных, допустимый в соответствующих полях. Число, следующее за командой, обозначает сколько символов или цифр поле может содержать.
- Команда
-
5
Создайте запись в таблице. Теперь, когда таблица создана, настало время вводить информацию. Используйте следующую команду, чтобы ввести первую запись:
INSERT INTO states (id, state, population) VALUES (NULL, ‘Alabama’, ‘4822023’);
- Эта команда, по сути, говорит базе данных сохранить информацию в таблице в трех соответствующих полях.
- Поскольку поле
id
содержит идентификаторNOT NULL
, то вводNULL
в качестве значения, заставит его увеличится на единицу, благодаря идентификаторуAUTO_INCREMENT
.
-
6
Создайте больше записей. Можно сохранить много записей с помощью одной команды. Чтобы сохранить еще три штата, введите такую команду:
INSERT INTO states (id, state, population) VALUES (NULL, ‘Alaska’, ‘731449’), (NULL, ‘Arizona’, ‘6553255’), (NULL, ‘Arkansas’, ‘2949131’);
.- Теперь ваша таблица будет выглядеть следующим образом:
-
7
Выполните запрос к базе данных. Теперь, когда простая база данных создана, вы можете выполнять запросы, чтобы извлекать нужную информацию. Для начала введите следующую команду:
SELECT * FROM us_states;
. Этот запрос вернет всю базу данных, что показано командой «*», которая означает «все».- Для более трудного запроса, введите такую команду:
SELECT state, population FROM us_states ORDER BY population;
Этот запрос вернет таблицу со штатами, отсортированными по количеству населения, вместо сортировки по имени в алфавитном порядке. Полеid
не будет отображено, поскольку вы просили только поляstate
иpopulation
. - Чтобы отобразить штаты по количеству населения в обратном порядке, используйте следующую команду:
SELECT state, population FROM us_states ORDER BY population DESC;
. КомандаDESC
отобразит штаты по убыванию количества населения (от большего к меньшему, а не от меньшего к большему).
Реклама
- Для более трудного запроса, введите такую команду:
-
1
Установите сервер базы данных MySQL на компьютере. Узнайте как установить MySQL на домашнем компьютере.
-
2
Удалите базу данных MySQL. Узнайте как удалить базу данных, если нужно удалить старую и ненужную информацию.
-
3
Изучите MySQL и PHP. Знание PHP и MySQL позволит вам создавать мощные веб-сайты для развлечения и работы.
-
4
Создайте резервную копию данных в MySQL. Всегда рекомендуется создавать резервную копию данных, в особенности если база данных является очень важной.
-
5
Вносите изменения в структуру базы данных в MySQL. Если требования к базе данных меняются, то всегда можно подогнать структуру, чтобы хранить другую информацию.
Реклама
Советы
- Ниже приведены одни из наиболее часто используемых типов данных: (Полный список можно посмотреть в документации mysql на http://dev.mysql.com/doc/)
- CHAR(длина) — строка с фиксированным количеством символов «длина».
- VARCHAR(длина) — строка с разным количеством символов, но максимальное количество символов — «длина».
- TEXT — строка с разным количеством символов, но максимальное количество символов — 64KB текста.
- INT(длина) — 32-битное число с максимальным количеством цифр длина (‘-‘ считается за ‘цифру’ для негативного числа.)
- DECIMAL(длина,дес) — Десятичное число с максимум «длина» отображаемых цифр. Поле дес указывает максимальное число разрядов в десятичной части.
- DATE — Дата (год, месяц, день))
- TIME — Время (часы, минуты, секунды)
- ENUM(«значение1«,»значение2«, ….) — Список перечисливаемых значений.
- Некоторые необязательные параметры:
- NOT NULL — Должно быть введено значение. Поле не может быть пустым.
- DEFAULT знач — Если значение не ведено, то значение «знач» присваивается полю.
- UNSIGNED — Для числовых полей. Указывает на то что число в поле не может быть отрицательным.
- AUTO_INCREMENT — Значение будет автоматически увеличено на единицу каждый раз, когда запись добавляется в таблицу.
Реклама
Об этой статье
Эту страницу просматривали 142 517 раз.
Была ли эта статья полезной?
Создание и удаление баз в MySQL/MariaDB
Обновлено: 10.10.2020
Опубликовано: 10.08.2016
Тематические термины: MySQL, MariaDB, phpMyAdmin.
В данных примерах используется командная оболочка mysql и phpMyAdmin.
Подключение к СУБД
Создание новой базы
Командная строка
phpMyAdmin
Создание пользователя
Удаление базы
Командная строка
phpMyAdmin
Читайте также
Если работа ведется на продуктивном сервере баз данных, рекомендуется сделать резервные копии.
Подключение к СУБД
Если мы планируем работать в командной строке, заходим в среду управления MySQL.
а) В Linux вводим команду:
mysql -uroot -p
* где root — пользователь, под которым мы будем подключаться к оболочке; ключ -p потребует ввода пароля.
б) В Windows запускаем командную строку — в меню пуск или найдя ее в поиске. Переходим в каталог, с установленной СУБД и запускаем одноименную команду mysql, например:
cd «%ProgramFiles%MySQLMySQL Server 5.5bin»
* в данном примере предполагается, что у нас установлена MySQL версии 5.5.
mysql -u root -p
* здесь, как и в Linux, идет подключение к mysql/mariadb под учетной записью root с запросом пароля.
Создание новой базы
Для создания базы используется SQL-запрос CREATE DATABASE. Рассмотрим подробнее его использование.
Командная строка
Используйте данный шаблон команды:
> CREATE DATABASE newdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* вышеописанная команда создаст базу данных с названием newdb и кодировкой UTF-8 (самая распространенная и универсальная).
Проверить, что база появилась можно командой:
> show databases;
* данная команда выводит в консоль список баз, созданных в СУБД.
Подключиться к базе можно командой:
use newdb
phpMyAdmin
В 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’;
* первая команда отнимает все привилегии, выданные пользователю. Вторая удаляет самого пользователя.
Удаление выполняется командой DROP DATABASE.
Командная консоль
Попробуем удалить ранее созданную базу:
> DROP DATABASE newdb;
phpMyAdmin
Выбираем нужную базу галочкой и кликаем по Удалить:
Читайте также
Другие инструкции по MySQL / MariaDB:
1. Как сделать дамп базы MySQL / MariaDB.
2. Как восстановить базу MySQL / MariaDB.
Была ли полезна вам эта инструкция?
Да Нет
-
Главная
-
Инструкции
-
MySQL
-
Как создать базу данных и нового пользователя в MySQL: инструкция
В этой инструкции мы рассмотрим, как в MySQL создать пользователя и базу, как удалить базу, как выдать пользователям привилегии.
По умолчанию вам будет доступен пользователь root. Используйте его, чтобы выполнить первоначальную настройку: создать первую БД и других пользователей.
Приведенные команды подойдут для управления MySQL, развернутой на сервере. Если же вы пользуетесь облачной базой данных, пользователь и сама база будут созданы автоматически при создании БД в панели управления.
Создание базы данных
Подключитесь к MySQL под учётной записью root:
mysql -u root -p
Посмотрите, какие базы уже хранятся на сервере:
SHOW DATABASES;
Даже если вы ещё ничего не делали, таблица не будет пустой. В ней отобразятся служебные БД. Удалять их не нужно.
Чтобы создать базу данных MySQL, выполните:
CREATE DATABASE my_timeweb;
Вместо my_timeweb
укажите имя, которое необходимо задать новой БД.
Чтобы убедиться, что новая база появилась на сервере, ещё раз выполните:
SHOW DATABASES;
В таблице отобразится название БД, которую вы только что создали.
Нельзя, чтобы у двух и более БД были одинаковые имена. Если ещё раз создать базу my_timeweb
, то появится сообщение об ошибке с кодом 1007.
Чтобы предотвратить появление ошибки, можно в MySQL создать новую базу с помощью расширенного синтаксиса:
CREATE DATABASE IF NOT EXISTS my_timeweb;
В этом случае СУБД проверит условие. Если БД с таким именем не существует, то MySQL создаст её. Если же такая база была создана ранее, то ничего не изменится.
Удаление базы данных
Для удаления выполните:
DROP DATABASE my_timeweb;
Вместо my_timeweb
укажите имя БД, которую следует удалить.
У DROP DATABASE
также есть расширенный синтаксис, который помогает избежать ошибок:
DROP DATABASE IF EXISTS my_timeweb;
Запрос будет выполнен только при наличии БД с таким именем.
DROP DATABASE
удалит БД и связанные с ней данные. Интерфейс командной строки MySQL не предложит вам подтвердить действие. Поэтому применяйте DROP DATABASE
с осторожностью.
Создание пользователя
MySQL предлагает удобную систему управления юзерами и их привилегиями. Можно менять права доступа, разрешать и запрещать выполнение действий на сервере.
Чтобы в MySQL создать пользователя, авторизуйтесь как root и выполните в консоли:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
После выполнения этой команды пользователь с именем user получит доступ к экземпляру MySQL с локальной машины (localhost). Прямой доступ с других хостов будет запрещён. Для идентификации будет использован пароль.
Если нужно указать не конкретный хост, а целый пул, используйте знак %
. Например:
CREATE USER 'sub_user'@'10.0.%' IDENTIFIED BY 'password;
Запись 10.0.%
указывает на то, что получить доступ к MySQL можно с любого клиента, IP-адрес которого начинается с «10.0.».
Вы можете использовать подстановочный знак на любом уровне IP-адреса в определении хоста. Чтобы юзер был доступен со всех хостов, используйте запись 'user'@'%'
.
Чтобы посмотреть список учетных записей, выполните:
SELECT * FROM mysql.user;
Удаление учётной записи
Удалить учётную запись MySQL можно командой DROP USER
:
DROP USER 'user'@'localhost';
Будьте осторожны, команда выполняется без дополнительного подтверждения.
Выдача привилегий
Без привилегий пользователь может подключиться к серверу MySQL, но не может работать с данными и выполнять другие действия.
В этой таблице — привилегии, которые часто выдают пользователям. Более подробный список смотрите в документации.
Привилегия |
Что может делать пользователь |
ALTER |
Менять структуру таблицы или БД |
CREATE |
Создавать новые БД и таблицы |
DELETE |
Удалять строки в таблице |
INSERT |
Добавлять строки в таблицу |
SELECT |
Читать данные из таблицы |
UPDATE |
Обновлять данные в таблице |
DROP |
Удалять БД |
Для выдачи прав нужно выполнить команду GRANT
. Например:
GRANT SELECT, INSERT ON my_timeweb.* TO 'user'@'localhost';
Выполнять эту команду нужно из-под учётной записи root, так как у неё есть привилегия на GRANT
. После применения такого запроса user сможет читать и добавлять строки в таблицы БД my_timeweb
.
Чтобы выдать пользователю все права, кроме тех, что есть у root, выполните:
GRANT ALL PRIVILEGES ON my_timeweb.* TO 'user'@'localhost';
Отзыв привилегий
Чтобы отозвать привилегии, используйте команду REVOKE
. У неё такой же синтаксис, как у GRANT
. Но результат будет противоположным.
Например, если вы хотите отозвать привилегии SELECT
и INSERT
у user в базе данных my_timeweb
, введите следующее:
REVOKE SELECT, INSERT ON my_timeweb.* FROM 'user'@'localhost';
Если учётная запись не имела никаких прав в этой БД, то ничего не изменится.
Ключевые команды, которые нужно знать
Как создать БД в MySQL:
CREATE DATABASE IF NOT EXISTS [database_name];
Как удалить БД:
DROP DATABASE IF EXISTS [database_name]
Как создать нового пользователя MySQL:
CREATE USER 'user'@'host' IDENTIFIED BY 'password';
Как удалить пользователя:
DROP USER 'user'@'host';
Это минимальный набор запросов, который поможет в MySQL создать базу данных и пользователя. Особенности использования этих и других возможностей СУБД подробно описаны в документации MySQL.
Вы также можете использовать для управления графический интерфейс. Его предоставляют такие инструменты, как PhpMyAdmin или MySQL Workbench. В их документации подробно описаны действия для создания и работы с БД и пользователями.
Download Article
Download Article
This wikiHow teaches you how to create a database in MySQL. In order to create a database, you’ll have to open the «mysql» command line interface and enter your database commands while the server is running.
-
1
Make sure that your MySQL server is connected. If your MySQL server isn’t currently online, you can’t create a database.
- You can check the server’s status by opening MySQL Workbench, selecting your server, and looking at the «Server Status» indicator on the «Administration — Server Status» tab.
-
2
Copy the installation folder’s path. This path will vary depending on whether you’re using a Windows computer or a Mac:
- Windows — Copy C:/Program Files/MySQL/MySQL Workbench 8.0 CE/ making sure to replace the last folder’s name with the most current MySQL name.
- Mac — Copy /usr/local/mysql-8.0.13-osx10.13-x86_64/ making sure to replace the last folder’s name with the most current MySQL folder name.
Advertisement
-
3
Open your computer’s command line. You’ll use Command Prompt on a Windows computer, while Mac users will open Terminal.
-
4
Change to the MySQL installation folder’s directory. Type cd and a space, paste in the path to the installation folder, and press ↵ Enter. For example, you’d do the following on most Windows computers:
cd C:Program FilesMySQLMySQL Workbench 8.0 CE
-
5
Open the MySQL login command. For example, to open the login command for a user named «me», you’d type in the following and press ↵ Enter:
-
6
Enter your account password. Type in the password for your MySQL user account, then press ↵ Enter. This will log you in and connect your command line application to the MySQL prompt.
- You should see the «MySQL>» tag appear your command line application. From this point on, any commands you enter will be processed through the MySQL command line app.
- Understand how to enter MySQL commands. MySQL commands must be entered with a semicolon (;) immediately after the last part of the command, though you can also enter the command, type a semicolon, and press ↵ Enter again.
Advertisement
-
1
Create your database’s file. You’ll do this by typing in the «create database» command create database, adding your database’s name and a semicolon, and pressing ↵ Enter. For a database named «Pet Records», for example, you’d enter the following:
create database Pet_Records;
- Your database’s name cannot have any spaces in it; if you want to add a space to the name, you’ll have to use an underscore (for example, «Friends of Mine» would become «Friends_of_Mine»).
- Every MySQL command must end in a semicolon. If you miss the semicolon the first time, you can type it in next to the … which appears and then press ↵ Enter again.
-
2
Display the current databases. You can bring up a list of current databases by typing in the following and then pressing ↵ Enter:
-
3
Select your database. You can select your database from the list by typing use name where «name» is the database’s name. For example, for your «Pet Records» database, you would type the following and press ↵ Enter:
-
4
Wait for the confirmation message. Once you see the phrase «Database changed» appear below your last-typed command, you’re free to proceed with creating the database’s content.
Advertisement
-
1
Understand the different table commands. There are a few main aspects of your table that you’ll want to know before creating one:
- Title — Your title will go directly after the «create table» command, and must follow the same rules as your database’s name (e.g., no spaces).
- Column Heading — You can determine column headings by typing different names into a set of parentheses (see the next step’s example).
- Cell Length — When determining cell length, you’ll use either «VARCHAR» (variable characters, meaning that you can type in between one and the VARCHAR’s limit number of characters) or «CHAR» (requires no more and no less than the specified number of characters; for example, CHAR(1) requires one character, CHAR(3) requires three characters, and so on).
-
Date — If you want to add a date to your chart, you’ll use the «DATE» command to indicate that the column’s contents will be formatted as a date. The date should be entered in
YYYY-MM-DD
format.
-
2
Create the table outline. Before you can input data for your chart, you’ll need to create the chart’s structure by typing in the following and then pressing ↵ Enter:
create table name (column1 varchar(20), column2 varchar(30), column3 char(1), column4 date);
- For example, to create a table called «Pets» with two VARCHAR columns, a CHAR column, and a date column, you might write the following:
create table Pets (Name varchar(20), Breed varchar(30), Sex char(1), DOB date);
-
3
Add a line to your table. Using the «insert» command, you can enter your database’s information line-by-line:
insert into name values ('column1 value', 'column2 value', 'column3 value', 'column4 value');
- For the «Pets» table example used previously, your line might look like this:
insert into Pets values ('Fido', 'Husky', 'M', '2017-04-12');
- You can enter the word NULL for a column’s contents if the column is blank.
- For the «Pets» table example used previously, your line might look like this:
-
4
Insert the rest of your data if possible. If your database is relatively small, you can insert the rest of the data line-by-line by using the «insert» code. If you elect to do this, skip the next step.
-
5
Upload a text file if needed. If you have a database which requires more lines of information than are practical to insert by hand, you can reference a text file that contains the data by using the following code:
[1]
load data local infile '/path/name.txt' into table name lines terminated by 'rn';
- For the «Pets» example, you would write something like the following:
load data local infile 'C:/Users/name/Desktop/pets.txt' into table Pets lines terminated by 'rn';
- On a Mac computer, you’ll need to use the «lines terminated by» command with 'r' instead of 'rn'.
- For the «Pets» example, you would write something like the following:
-
6
View your table. Enter the show databases; command, then select your database by typing in select * from name; where «name» is the database’s name. For example, if using the «Pet Records» database, you’d enter the following:
show databases; select * from Pet_Records;
Advertisement
Add New Question
-
Question
What are the basics of MySQL?
(1) Getting started with MySQL; (2) querying data; (3) filtering data; (4) sorting data; (5) joining tables; (6) grouping data; (7) MySQL sub query; (8) using set operators; (9) modifying data in MySQL; (10) MySQL transaction; (11) managing MySQL databases and tables; (12) MySQL indexes; (13) MySQL data types; 14. MySQL constraints; (15) MySQL globalization; (16) MySQL import and export.
-
Question
How do I create a new database and place that database in a specific directory location?
in ‘phpmyadmin,’ create a database with its table name and put it in a php directory.
-
Question
How do I use Oracle in a database?
Oracle is a type of database, not something you use in a database. The cost of an Oracle database instance is generally $100,000 per core (that’s a processor). To get started using Oracle, go to Oracle.com.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
Some commonly used data types include the following:
- CHAR(length) — fixed length character string
- VARCHAR(length) — variable length character string with max length length
- TEXT — variable length character string with max length of 64KB of text
- INT(length) — 32-bit integer with max length digits (the ‘-‘ is counted as a ‘digit’ for a negative number)
- DECIMAL(length,dec) — Decimal number up to total length display characters; the dec field indicates the maximum number of decimal places allowed
- DATE — Date value (year, month, date)
- TIME — Time value (hours, minutes, seconds)
- ENUM(«value1«,»value2«, ….) — List of enumerated values
-
Some optional parameters include the following:
- NOT NULL — A value must be provided. The field cannot be left blank.
- DEFAULT default-value — If no value is given, the default-value is assigned to the field.
- UNSIGNED — For numeric fields, ensures that the number is never negative.
- AUTO_INCREMENT — The value will be incremented automatically each time a row is added to the table.
Thanks for submitting a tip for review!
Advertisement
-
If your MySQL server isn’t running when you attempt to log into the «mysql» command line, you won’t be able to proceed.
-
As with any coding, make sure that your commands are spelled and spaced exactly right before you attempt to enter them.
Advertisement
About This Article
Article SummaryX
1. Open the MySQL command line.
2. Type in CREATE DATABASE followed by the database’s name and a semicolon.
3. Press ↵ Enter.
4. Open the database by entering USE [database name] into the MySQL command line.
Did this summary help you?
Thanks to all authors for creating a page that has been read 1,198,639 times.
Is this article up to date?
Download Article
Download Article
This wikiHow teaches you how to create a database in MySQL. In order to create a database, you’ll have to open the «mysql» command line interface and enter your database commands while the server is running.
-
1
Make sure that your MySQL server is connected. If your MySQL server isn’t currently online, you can’t create a database.
- You can check the server’s status by opening MySQL Workbench, selecting your server, and looking at the «Server Status» indicator on the «Administration — Server Status» tab.
-
2
Copy the installation folder’s path. This path will vary depending on whether you’re using a Windows computer or a Mac:
- Windows — Copy C:/Program Files/MySQL/MySQL Workbench 8.0 CE/ making sure to replace the last folder’s name with the most current MySQL name.
- Mac — Copy /usr/local/mysql-8.0.13-osx10.13-x86_64/ making sure to replace the last folder’s name with the most current MySQL folder name.
Advertisement
-
3
Open your computer’s command line. You’ll use Command Prompt on a Windows computer, while Mac users will open Terminal.
-
4
Change to the MySQL installation folder’s directory. Type cd and a space, paste in the path to the installation folder, and press ↵ Enter. For example, you’d do the following on most Windows computers:
cd C:Program FilesMySQLMySQL Workbench 8.0 CE
-
5
Open the MySQL login command. For example, to open the login command for a user named «me», you’d type in the following and press ↵ Enter:
-
6
Enter your account password. Type in the password for your MySQL user account, then press ↵ Enter. This will log you in and connect your command line application to the MySQL prompt.
- You should see the «MySQL>» tag appear your command line application. From this point on, any commands you enter will be processed through the MySQL command line app.
- Understand how to enter MySQL commands. MySQL commands must be entered with a semicolon (;) immediately after the last part of the command, though you can also enter the command, type a semicolon, and press ↵ Enter again.
Advertisement
-
1
Create your database’s file. You’ll do this by typing in the «create database» command create database, adding your database’s name and a semicolon, and pressing ↵ Enter. For a database named «Pet Records», for example, you’d enter the following:
create database Pet_Records;
- Your database’s name cannot have any spaces in it; if you want to add a space to the name, you’ll have to use an underscore (for example, «Friends of Mine» would become «Friends_of_Mine»).
- Every MySQL command must end in a semicolon. If you miss the semicolon the first time, you can type it in next to the … which appears and then press ↵ Enter again.
-
2
Display the current databases. You can bring up a list of current databases by typing in the following and then pressing ↵ Enter:
-
3
Select your database. You can select your database from the list by typing use name where «name» is the database’s name. For example, for your «Pet Records» database, you would type the following and press ↵ Enter:
-
4
Wait for the confirmation message. Once you see the phrase «Database changed» appear below your last-typed command, you’re free to proceed with creating the database’s content.
Advertisement
-
1
Understand the different table commands. There are a few main aspects of your table that you’ll want to know before creating one:
- Title — Your title will go directly after the «create table» command, and must follow the same rules as your database’s name (e.g., no spaces).
- Column Heading — You can determine column headings by typing different names into a set of parentheses (see the next step’s example).
- Cell Length — When determining cell length, you’ll use either «VARCHAR» (variable characters, meaning that you can type in between one and the VARCHAR’s limit number of characters) or «CHAR» (requires no more and no less than the specified number of characters; for example, CHAR(1) requires one character, CHAR(3) requires three characters, and so on).
-
Date — If you want to add a date to your chart, you’ll use the «DATE» command to indicate that the column’s contents will be formatted as a date. The date should be entered in
YYYY-MM-DD
format.
-
2
Create the table outline. Before you can input data for your chart, you’ll need to create the chart’s structure by typing in the following and then pressing ↵ Enter:
create table name (column1 varchar(20), column2 varchar(30), column3 char(1), column4 date);
- For example, to create a table called «Pets» with two VARCHAR columns, a CHAR column, and a date column, you might write the following:
create table Pets (Name varchar(20), Breed varchar(30), Sex char(1), DOB date);
-
3
Add a line to your table. Using the «insert» command, you can enter your database’s information line-by-line:
insert into name values ('column1 value', 'column2 value', 'column3 value', 'column4 value');
- For the «Pets» table example used previously, your line might look like this:
insert into Pets values ('Fido', 'Husky', 'M', '2017-04-12');
- You can enter the word NULL for a column’s contents if the column is blank.
- For the «Pets» table example used previously, your line might look like this:
-
4
Insert the rest of your data if possible. If your database is relatively small, you can insert the rest of the data line-by-line by using the «insert» code. If you elect to do this, skip the next step.
-
5
Upload a text file if needed. If you have a database which requires more lines of information than are practical to insert by hand, you can reference a text file that contains the data by using the following code:
[1]
load data local infile '/path/name.txt' into table name lines terminated by 'rn';
- For the «Pets» example, you would write something like the following:
load data local infile 'C:/Users/name/Desktop/pets.txt' into table Pets lines terminated by 'rn';
- On a Mac computer, you’ll need to use the «lines terminated by» command with 'r' instead of 'rn'.
- For the «Pets» example, you would write something like the following:
-
6
View your table. Enter the show databases; command, then select your database by typing in select * from name; where «name» is the database’s name. For example, if using the «Pet Records» database, you’d enter the following:
show databases; select * from Pet_Records;
Advertisement
Add New Question
-
Question
What are the basics of MySQL?
(1) Getting started with MySQL; (2) querying data; (3) filtering data; (4) sorting data; (5) joining tables; (6) grouping data; (7) MySQL sub query; (8) using set operators; (9) modifying data in MySQL; (10) MySQL transaction; (11) managing MySQL databases and tables; (12) MySQL indexes; (13) MySQL data types; 14. MySQL constraints; (15) MySQL globalization; (16) MySQL import and export.
-
Question
How do I create a new database and place that database in a specific directory location?
in ‘phpmyadmin,’ create a database with its table name and put it in a php directory.
-
Question
How do I use Oracle in a database?
Oracle is a type of database, not something you use in a database. The cost of an Oracle database instance is generally $100,000 per core (that’s a processor). To get started using Oracle, go to Oracle.com.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
Some commonly used data types include the following:
- CHAR(length) — fixed length character string
- VARCHAR(length) — variable length character string with max length length
- TEXT — variable length character string with max length of 64KB of text
- INT(length) — 32-bit integer with max length digits (the ‘-‘ is counted as a ‘digit’ for a negative number)
- DECIMAL(length,dec) — Decimal number up to total length display characters; the dec field indicates the maximum number of decimal places allowed
- DATE — Date value (year, month, date)
- TIME — Time value (hours, minutes, seconds)
- ENUM(«value1«,»value2«, ….) — List of enumerated values
-
Some optional parameters include the following:
- NOT NULL — A value must be provided. The field cannot be left blank.
- DEFAULT default-value — If no value is given, the default-value is assigned to the field.
- UNSIGNED — For numeric fields, ensures that the number is never negative.
- AUTO_INCREMENT — The value will be incremented automatically each time a row is added to the table.
Thanks for submitting a tip for review!
Advertisement
-
If your MySQL server isn’t running when you attempt to log into the «mysql» command line, you won’t be able to proceed.
-
As with any coding, make sure that your commands are spelled and spaced exactly right before you attempt to enter them.
Advertisement
About This Article
Article SummaryX
1. Open the MySQL command line.
2. Type in CREATE DATABASE followed by the database’s name and a semicolon.
3. Press ↵ Enter.
4. Open the database by entering USE [database name] into the MySQL command line.
Did this summary help you?
Thanks to all authors for creating a page that has been read 1,198,639 times.
Is this article up to date?
В этой статье мы рассмотрим создание базы данных SQL и создание таблицы SQL, используя команды в клиенте mysql. Предполагается, что этот инструмент запущен и подключен к серверу базы данных MySQL.
- Создание новой базы данных MySQL
- Создание таблицы SQL
- Значения NULL и NOT NULL
- Первичные ключи
- AUTO_INCREMENT
- Определение значений по умолчанию при создании таблицы
- Типы движков баз данных MySQL
Новая база данных создается с помощью оператора SQL CREATE DATABASE, за которым следует имя создаваемой базы данных. Для этой цели также используется оператор CREATE SCHEMA. Например, для создания новой базы данных под названием MySampleDB в командной строке mysql нужно ввести следующий запрос:
CREATE DATABASE MySampleDB;
Если все прошло нормально, команда сгенерирует следующий вывод:
Query OK, 1 row affected (0.00 sec)
Если указанное имя базы данных конфликтует с существующей базой данных MySQL, будет выведено сообщение об ошибке:
ERROR 1007 (HY000): Can't create database 'MySampleDB'; database exists
В этой ситуации следует выбрать другое имя базы данных или использовать опцию IF NOT EXISTS. Она создает базу данных только в том случае, если она еще не существует:
CREATE DATABASE IF NOT EXISTS MySampleDB;
Новые таблицы добавляются в существующую базу данных с помощью оператора CREATE TABLE SQL. За оператором CREATE TABLE следует имя создаваемой таблицы, а далее через запятые список имен и определений каждого столбца таблицы:
CREATE TABLE имя_таблицы ( определение имени_столбца, определение имени_таблицы …, PRIMARY KEY= (имя_столбца) ) ENGINE= тип_движка;
В определении столбца задается тип данных, может ли столбец быть NULL, AUTO_INCREMENT. Оператор CREATE TABLE также позволяет указать столбец (или группу столбцов) в качестве первичного ключа.
Прежде чем будет создавать таблицу, нужно выбрать базу данных. Это делается с помощью оператора SQL USE:
Создадим таблицу, состоящую из трех столбцов: customer_id, customer_name и customer_address. Столбцы customer_id и customer_name не должны быть пустыми (то есть NOT NULL). customer_id содержит целочисленное значение, которое будет автоматически увеличиваться при добавлении новых строк. Остальные столбцы будут содержать строки длиной до 20 символов. Первичный ключ определяется как customer_id.
CREATE TABLE customer ( customer_id int NOT NULL AUTO_INCREMENT, customer_name char(20) NOT NULL, customer_address char(20) NULL, PRIMARY KEY (customer_id) ) ENGINE=InnoDB;
Если для столбца указано значение NULL, тогда пустые строки будут добавляться в таблицу. И наоборот, если столбец определяется как NOT NULL, тогда пустые строки не будут добавлены.
Первичный ключ — это столбец, используемый для идентификации записей в таблице. Значение столбца первичного ключа должно быть уникальным. Если несколько столбцов объединены в первичный ключ, то комбинация значений ключей должна быть уникальной для каждой строки.
Первичный ключ определяется с помощью оператора PRIMARY KEY во время создания таблицы. Если используется несколько столбцов, они разделяются запятой:
PRIMARY KEY (имя_столбца, имя_столбца ... )
В следующем примере создается таблица с использованием двух столбцов в качестве первичного ключа:
CREATE TABLE product ( prod_code INT NOT NULL AUTO_INCREMENT, prod_name char(30) NOT NULL, prod_desc char(60) NULL, PRIMARY KEY (prod_code, prod_name) ) ENGINE=InnoDB;
Когда столбец определяется с помощью AUTO_INCREMENT, его значение автоматически увеличивается каждый раз, когда в таблицу добавляется новая запись. Это удобно при использовании столбца в качестве первичного ключа. Благодаря AUTO_INCREMENTне нужно писать инструкции SQL для вычисления уникального идентификатора для каждой строки.
AUTO_INCREMENT может быть присвоен только одному столбцу в таблице. И он должен быть проиндексирован (например, объявлен в качестве первичного ключа).
Значение AUTO_INCREMENT для столбца можно переопределить, указав новое при выполнении инструкции INSERT.
Можно запросить у MySQL самое последнее значение AUTO_INCREMENT, используя функцию last_insert_id() следующим образом:
SELECT last_insert_value();
Значения по умолчанию используются, когда значение не определено при вставке в базу данных.
Значения по умолчанию задаются с помощью ключевого слова DEFAULT в операторе CREATE TABLE. Например, приведенный ниже запрос SQL задает значение по умолчанию для столбца sales_quantity:
CREATE TABLE sales { sales_number int NOT_NULL, sales_quantity int NOT_NULL DEFAULT 1, sales_desc char(20) NOT_NULL, PRIMARY KEY (sales_number) ) ENGINE=MyISAM;
Каждый из примеров создания таблицы в этой статье до этого момента включал в себя определение ENGINE= . MySQL поставляется с несколькими различными движками баз данных, каждый из которых имеет свои преимущества. Используя директиву ENGINE =, можно выбрать, какой движок использовать для каждой таблицы. В настоящее время доступны следующие движки баз данных MySQL:
- InnoDB — был представлен вMySQL версии 4.0 и классифицирован как безопасная среда для транзакций.Ее механизм гарантирует, что все транзакции будут завершены на 100%. При этом частично завершенные транзакции (например, в результате отказа сервера или сбоя питания) не будут записаны. Недостатком InnoDB является отсутствие поддержки полнотекстового поиска.
- MyISAM — высокопроизводительный движок с поддержкой полнотекстового поиска. Эта производительность и функциональность обеспечивается за счет отсутствия безопасности транзакций.
- MEMORY— с точки зрения функционала эквивалентен MyISAM, за исключением того, что все данные хранятся в оперативной памяти, а не на жестком диске. Это обеспечивает высокую скорость обработки. Временный характер данных, сохраняемых в оперативной памяти, делает движок MEMORY более подходящим для временного хранения таблиц.
Движки различных типов могут сочетаться в одной базе данных. Например, некоторые таблицы могут использовать движок InnoDB, а другие — MyISAM. Если во время создания таблицы движок не указывается, то по умолчанию MySQL будет использовать MyISAM.
Чтобы указать тип движка, который будет использоваться для таблицы, о поместите соответствующее определение ENGINE= после определения столбцов таблицы:
CREATE TABLE tmp_orders { tmp_number int NOT_NULL, tmp_quantity int NOT_NULL, tmp_desc char(20) NOT_NULL, PRIMARY KEY (tmp_number) ) ENGINE=MEMORY;