Инструменты пользователя

Инструменты сайта


software:development:web:docs:learn:mariadb:вatabase_creation

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:development:web:docs:learn:mariadb:вatabase_creation [2024/02/25 18:54] vladpolskiysoftware:development:web:docs:learn:mariadb:вatabase_creation [2024/02/25 21:35] (текущий) – [Создание новой базы данных] vladpolskiy
Строка 1: Строка 1:
 ======База данных PHP MySQL====== ======База данных PHP MySQL======
 +С помощью PHP вы можете подключаться к базам данных и управлять ими.
 +
 +MySQL — самая популярная система баз данных, используемая с PHP.
 +=====Что такое MySQL?=====
 +  * MySQL — это система баз данных, используемая в Интернете.
 +  * MySQL — это система баз данных, работающая на сервере
 +  * MySQL идеально подходит как для небольших, так и для больших приложений.
 +  * MySQL очень быстрый, надежный и простой в использовании.
 +  * MySQL использует стандартный SQL
 +  * MySQL компилируется на нескольких платформах
 +  * MySQL можно бесплатно загрузить и использовать.
 +  * MySQL разрабатывается, распространяется и поддерживается корпорацией Oracle.
 +  * MySQL названа в честь дочери соучредителя Монти Видениуса: Моя
 +  * Данные в базе данных MySQL хранятся в таблицах. Таблица представляет собой набор связанных данных, состоящий из столбцов и строк.
 +  * 
 +Базы данных полезны для хранения категориальной информации. Компания может иметь базу данных со следующими таблицами:
 +
 +  * Сотрудники
 +  * Продукты
 +  * Клиенты
 +  * Заказы
 +
 +=====Система баз данных PHP + MySQL=====
 +  * PHP в сочетании с MySQL являются кроссплатформенными (вы можете разрабатывать в Windows и использовать платформу Unix).
 +====Запросы к базе данных====
 +Запрос – это вопрос или просьба.
 +
 +Мы можем запросить базу данных для получения конкретной информации и получить набор записей.
 +
 +Посмотрите на следующий запрос (с использованием стандартного SQL):
 +<code>
 +SELECT LastName FROM Employees
 +</code>
 +Приведенный выше запрос выбирает все данные в столбце «Фамилия» из таблицы «Сотрудники».
 +
 +Чтобы узнать больше о SQL, посетите [[https://www.w3schools.com/sql/default.asp|наш учебник по SQL]].
 +====Скачать базу данных MySQL====
 +Если у вас нет PHP-сервера с базой данных MySQL, вы можете скачать его бесплатно здесь: http://www.mysql.com .
 +====Факты о базе данных MySQL====
 +MySQL — это де-факто стандартная система баз данных для веб-сайтов с ОГРОМНЫМИ объемами как данных, так и конечных пользователей (например, Facebook, Twitter и Wikipedia).
 +
 +Еще одна замечательная особенность MySQL заключается в том, что ее можно масштабировать для поддержки встроенных приложений баз данных.
 +
 +Посетите http://www.mysql.com/customers/ для обзора компаний, использующих MySQL.
 +=====Подготовка файлов=====
 Создадим c помощью блокнота на нашем сервере файл index.php Создадим c помощью блокнота на нашем сервере файл index.php
  
Строка 24: Строка 69:
 <file html index.php> <file html index.php>
 <?php <?php
-$servername = "localhost"; +$servername = "localhost"; // Адрес сервера базы данных 
-$username = "root"; +$username = "root";  // Имя пользователя базы данных 
-$password = "********";+$password = "********"; // Пароль пользователя базы данных
  
 // Создаём соединение // Создаём соединение
Строка 415: Строка 460:
 {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_14.png?700|}} {{:software:development:web:docs:learn:mariadb:mariadb_creat_database_14.png?700|}}
 \\   \\  
 +=====Выбор и фильтрация данных из базы данных MySQL=====
 +Предложение WHERE используется для фильтрации записей.
 +
 +Предложение WHERE используется для извлечения только тех записей, которые соответствуют указанному условию.
 +<code>
 +SELECT column_name(s) FROM table_name WHERE column_name operator value 
 +</code>
 +**Выбирайте и фильтруйте данные с помощью MySQLi**
 +В следующем примере выбираются столбцы id, firstname и Lastname из таблицы MyGuests, где фамилия — «Doe», и отображаются на странице:
 +В тело нашей страницы между тегами <body> и </body> вставим следующий php код
 +<file html index.php>
 +     <?php
 +     $servername = "localhost"; 
 +     $username = "root";
 +     $password = "******";
 +     $dbname = "my_DB";
 +     // Создаём соединение
 +     $conn = new mysqli($servername, $username, $password, $dbname);
 +     // Проверим подключение
 +     if ($conn->connect_error) {
 +       die("Ошибка соединения: " . $conn->connect_error);
 +     }
 +     // подготовить
 +      $sql = "SELECT id, firstname, lastname FROM MyGuests WHERE lastname='Doe'";
 +      $result = $conn->query($sql);
 +
 +      if ($result->num_rows > 0) {
 +        // output data of each row
 +        while($row = $result->fetch_assoc()) {
 +          echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
 +        }
 +      } else {
 +        echo "0 results";
 +      }
 +     ?> 
 +</file>
 +Строки кода для пояснения из примера выше:
 +
 +Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests, где фамилия — «Doe». Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result.
 +
 +Затем проверяется, function num_rows()возвращено ли более нуля строк.
 +
 +Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while()проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname.
 +\\  
 +Откроем нашу страницу в браузере, где увидим надпись: \\  
 +id: 1 - Имя: Джон Доу\\  
 +id: 5 - Имя: Джон Доу\\  
 +id: 8 - Имя: Джон Доу
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_15.png?700|}}
 +\\  
 +Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_16.png?700|}}
 +\\  
 +=====Выбор и заказ данных из базы данных MySQL=====
 +Предложение ORDER BY используется для сортировки набора результатов в порядке возрастания или убывания.
 +
 +Предложение ORDER BY по умолчанию сортирует записи в порядке возрастания. Чтобы отсортировать записи в порядке убывания, используйте ключевое слово DESC.
 +<code>
 +SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC 
 +</code>
 +**Выбор и заказ данных с помощью MySQLi**
 +В следующем примере выбираются столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии:
 +В тело нашей страницы между тегами <body> и </body> вставим следующий php код
 +<file html index.php>
 +     <?php
 +     $servername = "localhost"; 
 +     $username = "root";
 +     $password = "******";
 +     $dbname = "my_DB";
 +     // Создаём соединение
 +     $conn = new mysqli($servername, $username, $password, $dbname);
 +     // Проверим подключение
 +     if ($conn->connect_error) {
 +       die("Ошибка соединения: " . $conn->connect_error);
 +     }
 +     // подготовить
 +     $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
 +     $result = $conn->query($sql);
 +
 +     if ($result->num_rows > 0) {
 +       // output data of each row
 +       while($row = $result->fetch_assoc()) {
 +         echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
 +       }
 +     } else {
 +       echo "0 results";
 +     }
 +     // Закроем соединение
 +     $conn->close();
 +     ?>
 +</file>
 +Строки кода для пояснения из примера выше:
 +
 +Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии. Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result.
 +
 +Затем проверяется, function num_rows()возвращено ли более нуля строк.
 +
 +Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while()проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname.
 +\\  
 +Откроем нашу страницу в браузере, где увидим надпись: \\  
 +id: 1 - Name: John Doe\\  
 +id: 5 - Name: John Doe\\  
 +id: 8 - Name: John Doe\\  
 +id: 7 - Name: Julie Dooley\\  
 +id: 10 - Name: Julie Dooley\\  
 +id: 6 - Name: Mary Moe\\  
 +id: 9 - Name: Mary Moe\\  
 +id: 4 - Name: Vlad Polskiy\\  
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_17.png?700|}}
 +\\  
 +Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png?700|}}
 +\\  
 +=====Удаление данных из таблицы MySQL с использованием MySQLi =====
 +Оператор DELETE используется для удаления записей из таблицы:
 +<code>
 +DELETE FROM table_name
 +WHERE some_column = some_value
 +</code>
 +**Обратите внимание на предложение WHERE в синтаксисе DELETE: Предложение WHERE указывает, какую запись или записи следует удалить. Если вы опустите предложение WHERE, все записи будут удалены!**
 +Давайте посмотрим на таблицу «MyGuests»:
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_18.png?700|}}
 +\\  
 +В следующих примерах удаляется запись с идентификатором = 5 в таблице «MyGuests»:
 +В тело нашей страницы между тегами <body> и </body> вставим следующий php код
 +<file html index.php>
 +     <?php
 +     $servername = "localhost"; 
 +     $username = "root";
 +     $password = "******";
 +     $dbname = "my_DB";
 +     // Создаём соединение
 +     $conn = new mysqli($servername, $username, $password, $dbname);
 +     // Проверим подключение
 +     if ($conn->connect_error) {
 +       die("Ошибка соединения: " . $conn->connect_error);
 +     }
 +     // sql to delete a record
 +     $sql = "DELETE FROM MyGuests WHERE id=5";
 +
 +     if ($conn->query($sql) === TRUE) {
 +      echo "Record deleted successfully";
 +     } else {
 +     echo "Error deleting record: " . $conn->error;
 +     }
 +     // Закроем соединение
 +     $conn->close();
 +     ?>
 +</file>
 +
 +\\  
 +Откроем нашу страницу в браузере, где увидим надпись: Запись успешно удалена
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_19.png?700|}}
 +\\  
 +Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png?700|}}
 +\\  
 +=====Обновление данных в таблице MySQL, используя MySQLi =====
 +Оператор UPDATE используется для обновления существующих записей в таблице:
 +<code>
 +UPDATE table_name
 +SET column1=value, column2=value2,...
 +WHERE some_column=some_value 
 +</code>
 +**Обратите внимание на предложение WHERE в синтаксисе UPDATE: Предложение WHERE указывает, какую запись или записи следует обновить. Если вы опустите предложение WHERE, все записи будут обновлены!**
 +Давайте посмотрим на таблицу «MyGuests»:
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_20.png?700|}}
 +\\  
 +В следующих примерах запись обновляется с id=4 в таблице «MyGuests».
 +В тело нашей страницы между тегами <body> и </body> вставим следующий php код
 +<file html index.php>
 +     <?php
 +     $servername = "localhost"; 
 +     $username = "root";
 +     $password = "******";
 +     $dbname = "my_DB";
 +     // Создаём соединение
 +     $conn = new mysqli($servername, $username, $password, $dbname);
 +     // Проверим подключение
 +     if ($conn->connect_error) {
 +       die("Ошибка соединения: " . $conn->connect_error);
 +     }
 +     $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
 +
 +     if ($conn->query($sql) === TRUE) {
 +      echo "Record updated successfully";
 +     } else {
 +       echo "Error updating record: " . $conn->error;
 +      }
 +     // Закроем соединение
 +     $conn->close();
 +     ?>
 +</file>
 +
 +\\  
 +Откроем нашу страницу в браузере, где увидим надпись: Запись успешно удалена
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_21.png?700|}}
 +\\  
 +Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
 +\\  
 +{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_22.png?700|}}
 +\\  
 +=====Ограничение выбора данных из базы данных MySQL =====
 +MySQL предоставляет предложение LIMIT, которое используется для указания количества возвращаемых записей.
 +
 +Предложение LIMIT упрощает кодирование многостраничных результатов или разбиение на страницы с помощью SQL и очень полезно для больших таблиц. Возврат большого количества записей может повлиять на производительность.
 +
 +Предположим, мы хотим выбрать все записи от 1 до 30 (включительно) из таблицы «Заказы». Тогда SQL-запрос будет выглядеть так:
 +<code>
 +$sql = "SELECT * FROM Orders LIMIT 30";
 +</code>
 +При выполнении приведенного выше SQL-запроса он вернет первые 30 записей.
 +
 +Что делать, если мы хотим выбрать записи с 16 по 25 (включительно)?
 +
 +Mysql также предоставляет способ справиться с этим: используя OFFSET.
 +
 +В приведенном ниже SQL-запросе говорится: «Вернуть только 10 записей, начать с записи 16 (OFFSET 15 15)»:
 +<code>
 +$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";
 +</code>
 +Вы также можете использовать более короткий синтаксис для достижения того же результата:
 +<code>
 +$sql = "SELECT * FROM Orders LIMIT 15, 10";
 +</code>
 +Обратите внимание, что при использовании запятой цифры меняются местами. 
 +
 +=====Ссылки и Примечания=====
 +[[https://www.w3schools.com/php/php_mysql_intro.asp|Оригинал статьи База данных PHP MySQL]]\\  
 +[[https://www.mysql.com/|Оригинальный сайт программы
 +MySQL]]
software/development/web/docs/learn/mariadb/вatabase_creation.1708876459.txt.gz · Последнее изменение: 2024/02/25 18:54 — vladpolskiy