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

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


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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:development:web:docs:learn:mariadb:вatabase_creation [2024/02/25 20:24] – [Выбор данных из базы данных MySQL] vladpolskiysoftware:development:web:docs:learn:mariadb:вatabase_creation [2024/02/25 21:35] (текущий) – [Создание новой базы данных] vladpolskiy
Строка 69: Строка 69:
 <file html index.php> <file html index.php>
 <?php <?php
-$servername = "localhost"; +$servername = "localhost"; // Адрес сервера базы данных 
-$username = "root"; +$username = "root";  // Имя пользователя базы данных 
-$password = "********";+$password = "********"; // Пароль пользователя базы данных
  
 // Создаём соединение // Создаём соединение
Строка 460: Строка 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===== +=====Выбор и фильтрация данных из базы данных MySQL===== 
-Оператор SELECT используется для выбора данных из одной или нескольких таблиц:+Предложение WHERE используется для фильтрации записей. 
 + 
 +Предложение WHERE используется для извлечения только тех записей, которые соответствуют указанному условию.
 <code> <code>
-SELECT column_name(s) FROM table_name+SELECT column_name(s) FROM table_name WHERE column_name operator value 
 </code> </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> <code>
-SELECT FROM table_name+SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC 
 </code> </code>
-В следующем примере выбираются столбцы idfirstname и Lastname из таблицы MyGuests и отображаются на странице:+**Выбор и заказ данных с помощью MySQLi** 
 +В следующем примере выбираются столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии:
 В тело нашей страницы между тегами <body> и </body> вставим следующий php код В тело нашей страницы между тегами <body> и </body> вставим следующий php код
 <file html index.php> <file html index.php>
Строка 483: Строка 537:
        die("Ошибка соединения: " . $conn->connect_error);        die("Ошибка соединения: " . $conn->connect_error);
      }      }
-     // подготовить и связать +     // подготовить 
-     $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); +     $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
-     $stmt->bind_param("sss", $firstname, $lastname, $email); +
- +
-      +
-     $sql = "SELECT id, firstname, lastname FROM MyGuests";+
      $result = $conn->query($sql);      $result = $conn->query($sql);
  
      if ($result->num_rows > 0) {      if ($result->num_rows > 0) {
-       //выводим данные каждой строки+       // output data of each row
        while($row = $result->fetch_assoc()) {        while($row = $result->fetch_assoc()) {
          echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";          echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
Строка 499: Строка 549:
        echo "0 results";        echo "0 results";
      }      }
-     ?> +     // Закроем соединение 
 +     $conn->close(); 
 +     ?>
 </file> </file>
 Строки кода для пояснения из примера выше: Строки кода для пояснения из примера выше:
  
-Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests. Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result.+Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии. Следующая строка кода запускает запрос и помещает полученные данные в переменную с именем $result.
  
-Затем функция num_rows() проверяет, возвращено ли больше нулевых строк.+Затем проверяетсяfunction num_rows()возвращено ли более нуля строк.
  
-Если возвращается более нуля строк, функция fetch_assoc() помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while() проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname.+Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, который мы можем просмотреть в цикле. Цикл while()проходит по результирующему набору и выводит данные из столбцов id, firstname и Lastname.
 \\   \\  
-Откроем нашу страницу в браузере, где увидим надпись:  +Откроем нашу страницу в браузере, где увидим надпись: \\   
-  id: 1 - ИмяДжон Доу +id: 1 - NameJohn Doe\\   
-  id: ИмяВлад Польский +id: NameJohn Doe\\   
-  id: ИмяДжон Доу +id: NameJohn Doe\\   
-  id: ИмяМэри Мо +id: NameJulie Dooley\\   
-  id: ИмяДжули Дули +id: 10 NameJulie Dooley\\   
-  id: ИмяДжон Доу +id: NameMary Moe\\   
-  id: 9 - ИмяМэри Мо +id: 9 - NameMary Moe\\   
-  * ID10 ИмяДжули Дули+idNameVlad Polskiy\\  
 \\   \\  
-{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_13.png?700|}}+{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_17.png?700|}}
 \\   \\  
 Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin
 \\   \\  
-{{:software:development:web:docs:learn:mariadb:mariadb_creat_database_14.png?700|}}+{{: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.w3schools.com/php/php_mysql_intro.asp|Оригинал статьи База данных PHP MySQL]]\\  
 [[https://www.mysql.com/|Оригинальный сайт программы  [[https://www.mysql.com/|Оригинальный сайт программы
 MySQL]] MySQL]]
software/development/web/docs/learn/mariadb/вatabase_creation.1708881848.txt.gz · Последнее изменение: 2024/02/25 20:24 — vladpolskiy