Локальный сервер, создание таблиц и базы данных MySQL
Сегодня я покажу как создавать базу данных и таблицы с помощью инсталляционного файла. Мы уже не раз создавали базы и таблицы, но делали это из PhpMyAdmin. Но давайте подумаем, что вам надо развернуть сайт на другом компьютере или у заказчика. Вот для этого нам и понадобится инсталляционный файл.
Вам надо просто запустить файл и будет создана база и таблицы внутри неё, а если захотите, то прямо с данными. Это сработает если у вас с есть полные права на создания. Если это ваш сервер, то с этим проблем быть не должно.
Для начала копируем файл install.php и index.php в корень сервера и запускаем install.
Файл index выводит все базы которые есть на сервере. В конце я покажу как удалять базу или таблицы.
Как можно увидеть, я создал базу данных Test, а в ней таблицу Users.
В следующем уроке мы научимся делать форму для ввода логина и пароля, и переход на определённую страницу на сайте. Для Админа будет переход на Админскую страницу, а для всех остальных зарегистрированных пользователей на пользовательскую страницу с графиками температуры. Сделанную в прошлом видео.
Сначала посмотрим как создаётся база данных и таблица в ней. Я создам базу Test и таблицу Users.
Сначала рассмотрим конфигурационный файл. Здесь мы укажем данные для доступа к серверу.
Имя хостинга, имя пользователя, пароль и базу. Но так как базы у нас пока нет – это поля пока пропускаем.
Эта строчка отвечает за соединение с базой.
А этот код отвечает за вывод ошибок при соединении с базой.
Теперь рассмотрим инсталляционный файл. В первой строчке мы подключаем конфигурационный файл который отвечает за связь с базой.
Это sql команда которая создаст базу test. Это опять проверка на ошибки.
Если база была создана, то нам надо её указать в строке соединения, помните, мы оставили её пустой.
Теперь всё готово к созданию таблицы. Пока я не буду рассказывать что это за значения. Это мы узнаем позже. Скажу только что в таблице создадим поля
- ID
- USERNAME
- USERDATE
- TIMEIN
- и GENDER, куда же теперь без пола, а то обвинят в не толерантности.
Так как мы будем использовать русский шрифт, то укажем кодировку UTF8
Ну и как всегда проверка на ошибки.
Советую всегда вставлять эти строчки, так вы всегда узнаете где была ошибка.
Теперь закрываем соединение.
Файл index отвечает за вывод информации. Я его использую для вывода количества баз данных, и чтобы посмотреть названия баз.
Если с количеством всё ясно, и нет вариантов, то вывести названия можно разными способами.
Я использую три способа. Хотя достаточно было бы одного.
Первый способ получает массив и выводит его в цикле в столбик, так как я указал перевод на новую строку.
Второй способ – это получение самих названий из массива.
И третий способ это тот же массив, только без цикла.
Нам был бы достаточен например способ два.
Теперь посмотрим как это работает. Заходим в PHPMYADMIN и смотрим сколько сейчас баз данных. Обновляем экран, чтобы видеть, что всё верно. Сейчас у нас 3 базы.
Заходим на сервер. У нас запускается файл index.
Он выводит.
Первая строчка, показывает, что что мы успешно подключились.
Смотрим количество баз. Их у нас три.
И три варианта вывода названий баз данных.
Теперь набираем в браузере install.php и видим, что подключение к базе прошло успешно, База данных была создана, И таблица USERS тоже была создана.
Открываем index И смотрим, что информация изменилась. Везде где было 3 значения, стало 4.
База Test была успешно создана.
Напоминаю, вы всё это можете сделать только обладая правами полного доступа.
Теперь осталось зайти в PhpMyAdmin и проверить, что всё действительно создалось. И таблица тоже.
Всё верно , база есть, таблица есть.
Теперь разберёмся в структуре таблицы.
Давайте приступим к изучению полей таблицы.
Поле ID.
Это целочисленное поле, имеет длину вывода 11 символов. Но это работает только если задан аттрибут zerofill. И указывает на количество нулей перед знаком. Для чего это вам может пригодиться я не знаю.
ВОТ таблица разных типов значений.
Поле NULL установлено в значение не NULL -это значит, что поле не может иметь пустое значение, и обязательно должно быть заполнено.
Поле авто инкремент означает, что поле будет постоянно увеличиваться на единицу. И если вы удалите последнее значение, то поле установится в следующее значение, а удалённый номер не будет занят. Будет некая дыра в данных.
Поле username.
Здесь тип переменной varchar 100. Вот здесь цифра 100 как раз отвечает за количество знаков которые будут сохранены в базе. Я указал хранить до 100 символов в имени.
Кодировка UTF8 позволяет хранить символы в различных кодировках. Туда же входит и кириллица. Так же это поле не может быть пустым и обязательно должно быть заполнено.
Поле email ни чем не отличается от username. Ну если только количеством символов. Здесь можно было не указывать UTF8 так как почта всегда на латинице.
Поля userdate и timein. Сохранят дату и время создания записи. А поле gender аналогично имени и почте.
Вот мы и познакомились с некоторыми возможностями значений в полях базы. Теперь осталось научиться сохранять значения и удалять таблицу и базу.
Сначала рассмотрим код сохранения в таблицу.
Для этого подправим код в файле install.php
Добавим туда вот такие строчки.
Это SQL запрос на вставку значений в таблицу.
В запросе мы указываем только те значения которые надо добавить. Например ID, Дату и Время мы не указываем так как они вставятся автоматически.
И как всегда проверка ошибок.
Для проверки нам надо удалить таблицу, а иначе получим ошибку. Ну, или можно закоментировать код создания базы и таблицы.
Я удалю таблицу и снова её создам, только уже с записью об Админе.
Заходим на страницу install и запускаем её. Видим сообщение, что база создана и таблица тоже. Переходим в PhpMyAdmin, что бы посмотреть результат.
Видим, что база была создана, таблица тоже, а в нёй был создан пользователь Админ.
Теперь давайте добавим ещё одного пользователя.
Я закомментирую строчки кода создания базы и таблицы и оставлю только Код создания пользователя.
Изменю имя и почту. И сохраню файл.
Запускаем инсталл и получаем ошибку. Видите как удобно что везде расставлены сообщения об ошибках. Всегда понятно что и где искать. Мне пишут, что я не указал в какой базе данных искать. Возвращаемся в код и устраняем ошибку. Снова запускаем инсталл и теперь всё хорошо.
Видим, что у нас добавился ещё один пользователь. Не обязательно добавлять записи по одной, можно сделать запрос и указать хоть сто значений и все они будут добавлены в таблицу.
А у нас осталось ещё одна задача. Научиться удалять таблицу и базу.
Давайте сначала удалим запись в таблице. Посмотрим как это сделать. Для этого создадим отдельный файл и назовём его delete.php
Здесь код ничем кроме 1 строчки не отличается от файла install. Соединение с базой, выбор таблицы.
Проверка на ошибки.
Рассмотрим только запрос на удаление.
Здесь мы указываем что нам надо удалить запись с номером ID равным 2 из таблицы USERS.
Теперь загружаем файл на сервер и запускаем его, набрав в строке delete.php
Видим, что к базе подключились, и запись была удалена. Проверим – это в PhpMyAdmin. Ну И давайте до кучи, удалим ещё и админа, чтобы таблица была совсем пустая и нам не было жалко её удалять.
Для этого снова заходим в delete и меняем ID с двойки на единицу. Сохраняем и запускаем. Смотрим в PhpMyAdmin и видим, что у нас теперь абсолютно пустая таблица. А зачем она нам тогда нужна, Давайте и её удалим.
Чтобы не плодить много файлов, я просто закомментирую код удаления записи и напишу код удаления таблицы, а вы когда захотите сможете его раскомментировать и использовать как вам будет удобно.
Как обычно, сохраняем, загружаем, смотрим.
Видим, что теперь у нас база больше не содержит таблиц. Осталось только и её удалить. А вы пока смотрите, напишите в комментариях, нужны ли вам такие подробности, или можно половину отбросить и оставить только суть.
Теперь давайте удалим саму базу. Поступим точно также. Закомментируем ненужное и напишем код удаления базы.
Теперь в проверке ошибок изменим таблицу на базу. Сохраним и запустим файл на сервере.
Мы получили сообщение, что база удалена. Давайте в этом убедимся.
А теперь зайдём на сервер и посмотрим сколько осталось таблиц. Их снова 3. Мы потратили 11 минут, чтобы вернуться к тому с чего начали. Баз как было 3 так и осталось.
Если вам нравятся мои видео, то вы можете помочь в развитии канала став его спонсором. Все ваши вклады пойдут на закупки новых модулей. Вам же за это будут предоставлены дополнительные бонусы, и они довольно интересные.
Вы видите ссылки на видео, которые, я думаю будут вам интересны. Перейдя на любое из этих видео вы узнаете что-то новое, а ещё поможете мне. Ведь любой ваш просмотр — это знак YOUTUBE, что это кому-то интересно и что его надо показывать чаще.
Спасибо.
А пока на этом всё.
Работа в приложении MySQL Workbench
MySQL Workbench — это инструмент визуального проектирования баз данных, который объединяет проектирование, моделирование, создание и эксплуатацию баз данных. Его возможности нам пригодятся для:
• осуществления резервного копирования и восстановления базы данных (также полезно для переноса базы данных на другой компьютер);
• настройки для подключения к удаленной базе данных;
• изменения пути сохранения базы данных — «по умолчанию» сохраняется на диск «C»;
• просмотра статистики базы данных;
Если база данных была установлена согласно инструкциям в предыдущем разделе, то MySQL Workbench был установлен вместе с MySQL, в противном случае ее можно скачать по этой ссылке: http://dev.mysql.com/downloads/workbench/
После запуска MySQL Workbench вам необходимо выбрать экземпляр сервера MySQL, чтобы подключиться к нему. В нашем случае он всего один (локальный) — нажимаем на него:

Введите пароль пользователя root (который был введен при настройке MySQL):

После подключения к серверу MySQL мы увидим стартовую страницу, которая содержит:
• Administration — настройки сервера MySQL.
• Schemas (Database area) — здесь отображается список созданных баз данных. Также при первом включении здесь могут отображаться тестовые базы данных — их можно удалить, щелкнув по названию базы с помощью правой клавишью мыши и выбрав «Drop Schema» во всплывающем меню.
Создание базы данных
Вам необходимо создать базу данных вручную:
Откройте закладку «Schemas». Нажмите иконку «Create a new schema in the connected server»:

Введите «Name» имя схемы и нажмите Apply:

Появится окно «Apply SQL script to Database» . Нажмите Apply:

Затем нажмите «Finish»:

Установка часового пояса сервера
Если при первом запуске TeslaSCADA2 IDE или TeslaSCADA2 Runtime появляется сообщение об ошибке, подобное этому:

Вы можете исправить это двумя способами:
1 . Установить глобально с помощью запроса SQL (это временное решение, после перезапуска сервера MySQL проблема вернется).
Для этого вам необходимо настроить часовой пояс для своего сервера My SQL, чтобы сделать это, откройте MySQL Workbench и щелкните значок «Create a new SQL tab for executing queries»:

Введите: SET GLOBAL time_zone = ‘+3:00’, где вместо ‘+3:00’, Вам необходимо ввести ваш часовой пояс. И затем нажать иконку «Execute. «:

Теперь Вы можете снова попробовать Запустить проект TeslaSCADA2 в TeslaSCADA2 IDE или в TeslaSCADA2 Runtime.
2 . Изменить файл my.ini (Windows) или файл my.inf (Linux).
2.1 Найдите файл my.ini или my.inf. Это файл инициализации для сервера MySQL. Обычно он помещается в C:/ProgramData/MySQL/MySQL Server 8.0/:

2.2. Откройте файл my.ini и добавьте эту строку: default-time-zone=’+03:00′, где вместо ‘+3: 00’, нужно указать свой часовой пояс.
2.3. Сохраните файл (Ваш текущий пользователь должен иметь доступ к этой папке).
2.4. Перезагрузите сервер MySQL.
Теперь Вы можете снова попробовать запустить проект TeslaSCADA2 в TeslaSCADA2 IDE или в TeslaSCADA2 Runtime.
Настройки, необходимые для подключения к удаленной базе данных

1. Выберите пункт «Users and Privileges».
2. Выберите пользователя «root».
3. В поле «Limit to Hosts Matching» введите «%».
4. Сохраните настройки нажав кнопку «Apply».
Теперь вы можете подключиться к базе данных с удаленного ПК.
Изменение пути сохранения базы данных
Чтобы изменить путь для сохранения базы данных, необходимо сделать следующее:
• остановить службу MySQL через службы Windows;
• переместить весь каталог «данных» из текущего местоположения (по умолчанию «C: \ ProgramData \ MySQL \ MySQL Server 5.x \ data») в новый (вырезать — вставить).
Далее вам необходимо запустить MySQL Workbench «as administrator» и изменить параметр «datadir» на новое расположение директории «data»:
Как создать локальную базу данных?
Делаю пет проект на php, знаю как работать с базами данных и как использовать их в php PDO, однако тут возникает вопрос: как создать то эту самую базу данных? В чужих проектах вижу файл с расширение .db, но как создать подобный файл, допустим, на mysql — не понимаю.
- Вопрос задан более года назад
- 572 просмотра
Комментировать
Решения вопроса 1

Потомок старинного рода Ипатьевых-Колотитьевых
На mysql не создают такой файл.
Mysql — это отдельная программа, которая хранит данные в своих собственных файлах.
«Создавать» её не надо. На хостинге она уже есть, дома она обычно тоже уже есть, в составе какого-нибудь набора — XAMPP, MAMP и пр.
Если никаких наборов нет, то скачать и установить Mysql с офсайта.
После этого вся работа с БД будет производиться через SQL.
Лучше это делать через нормальный клиент, типа PHPStorm, Workbench и так далее. В крайнем случае — phpmyadmin, но это конечно очень уродливая программа.
Настроить программу на соединение с сервером БД и выполнять в нем команды SQL.
Например, создать database — это типа такой каталог, в котором лежат таблицы — CREATE DATABASE mydb;
И вот это mydb потом указывать в параметрах подключения PDO.
как создать базу данных в mysql
Разбираем 2 способа создание базы данны в субд MySQL двумя способами:
- Через консоль;
- Графический — через MySQL Workbench.
Данный эксперимент будет проводиться на Windows 10, но большой разницы между Windows и Linux при создании базы не существует.
1. Создаём через консоль:
Естественно нужно подключиться к к серверу где установлен mysql в качестве службы, для этого нужно знать ip/доменное имя сервера, порт, логин пароль. В данном случае всё это на локальном компьютере.
Далее вызываем консоль — Win+R вводим cmd и жмём Enter. Если путь к mysql прописан в системных переменных, то после запуска cmd достаточно вызвать mysql с параметрами, если нет, то лучше с помощью команды CD перейти в директорию, где находится консольная программа mysql.exe. Теперь вызываем её нажимаем Enter, вводим пароль и снова Enter:
mysql -h localhost -uroot -p -P 3307

mysql — это консольна программа mysql.exe,
-h localhost — указание на сервер,
-p (пропистная) — указание на то, что придётся вводить пароль,
-P 3307 — указание на порт, т.к. порт в данном случае отличается от порта по умолчанию.

Посмотреть наличие каких-либо баз можно с помощью оператора SHOW:
SHOW DATABASES;

На текущий момент только системные базы данных.
Создадим тестовую базу: tempdb1, для этого воспользуемся оператором CREATE DATABASE:
CREATE DATABASE IF NOT EXISTS tempdb1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

База успешно создана!
2. Создаём базу через MySQL Workbench
Запускаем установленный Workbench и подключаемся с серверу mysql:
сочетанием клавишь CTRL+U вызываем диалоговое окно «Connect to Database»
или «Database»->»Connect to Database»

В появившимся окне вводим данные:

также вводим сервер — localhost и 127.0.0.1 — это одно и тоже!
порт 3307 — это в моём случае, по умолчанию скорее всего будет 3306.
логин — для тестов можно и root на локальном компьютере оставить.
Вводим пароль и снова OK:

Если все настройки + логин/пароль верные, то авторизация пройдёт успешно и будет слева в Навигаторе виден список баз:

видим ранее созданную из консоли базу!
Теперь жмём на значок создание новый базы или схемы, что есть одно и то же:

или правой кнопкой мышки на пустом пространстве навигатора вызываем меню и жмём на «Create Schema» — это второй способ вызова диалогового окна для создания базы данных:

Вызвано поле для создания базы данных:

В поле Name нужно ввести имя новой базы данных, например: tempdb2
Charset/Collation — оставлю по умолчанию.

Ввели нужно имя базы, установили кодировку и коллатион и жмём на Apply!
Во всплывшем диалоговом окне «Apply SQL Script to Database» тоже жмём Apply:


База tempdb2 создана:

Все способы создания базы выполнены успешно. Хотел бы добавить что в контексте mysql понятия database и schema — это одно и тоже, т.е. можно создавая писать CREATE DATABASE а можно CREATE SCHEMA.