software:development:web:docs:learn:mariadb:вatabase_creation
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
software:development:web:docs:learn:mariadb:вatabase_creation [2024/02/25 18:29] – [Подготовленные операторы и связанные параметры] vladpolskiy | software:development:web:docs:learn:mariadb:вatabase_creation [2024/02/25 21:35] (текущий) – [Создание новой базы данных] vladpolskiy | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ======PHP Создать базу данных MySQL====== | + | ======База данных |
+ | С помощью PHP вы можете подключаться к базам данных и управлять ими. | ||
+ | |||
+ | MySQL — самая популярная система | ||
+ | =====Что такое MySQL? | ||
+ | * MySQL — это система баз | ||
+ | * MySQL — это система баз данных, | ||
+ | * MySQL идеально подходит как для небольших, | ||
+ | * MySQL очень быстрый, | ||
+ | * MySQL использует стандартный SQL | ||
+ | * MySQL компилируется на нескольких платформах | ||
+ | * MySQL можно бесплатно загрузить и использовать. | ||
+ | * MySQL разрабатывается, | ||
+ | * MySQL названа в честь дочери соучредителя Монти Видениуса: | ||
+ | * Данные в базе данных MySQL хранятся в таблицах. Таблица представляет собой набор связанных данных, | ||
+ | * | ||
+ | Базы данных полезны для хранения категориальной информации. Компания может иметь базу данных со следующими таблицами: | ||
+ | |||
+ | * Сотрудники | ||
+ | * Продукты | ||
+ | * Клиенты | ||
+ | * Заказы | ||
+ | |||
+ | =====Система баз данных PHP + MySQL===== | ||
+ | * PHP в сочетании с MySQL являются кроссплатформенными (вы можете разрабатывать в Windows и использовать платформу Unix). | ||
+ | ====Запросы к базе данных==== | ||
+ | Запрос – это вопрос или просьба. | ||
+ | |||
+ | Мы можем запросить базу данных для получения конкретной информации и получить набор записей. | ||
+ | |||
+ | Посмотрите на следующий запрос (с использованием стандартного SQL): | ||
+ | < | ||
+ | SELECT LastName FROM Employees | ||
+ | </ | ||
+ | Приведенный выше запрос выбирает все данные в столбце «Фамилия» из таблицы «Сотрудники». | ||
+ | |||
+ | Чтобы узнать больше о SQL, посетите [[https:// | ||
+ | ====Скачать базу данных MySQL==== | ||
+ | Если у вас нет PHP-сервера с базой данных MySQL, вы можете скачать его бесплатно здесь: http:// | ||
+ | ====Факты о базе данных MySQL==== | ||
+ | MySQL — это де-факто стандартная система баз данных для веб-сайтов с ОГРОМНЫМИ объемами как данных, | ||
+ | |||
+ | Еще одна замечательная особенность MySQL заключается в том, что ее можно масштабировать для поддержки встроенных приложений баз данных. | ||
+ | |||
+ | Посетите http:// | ||
+ | =====Подготовка файлов===== | ||
Создадим c помощью блокнота на нашем сервере файл index.php | Создадим c помощью блокнота на нашем сервере файл index.php | ||
Строка 24: | Строка 69: | ||
<file html index.php> | <file html index.php> | ||
<?php | <?php | ||
- | $servername = " | + | $servername = " |
- | $username = " | + | $username = " |
- | $password = " | + | $password = " |
// Создаём соединение | // Создаём соединение | ||
Строка 350: | Строка 395: | ||
{{: | {{: | ||
\\ | \\ | ||
- | =====Подготовленные операторы | + | =====Выбор данных из базы данных MySQL===== |
- | Подготовленный оператор | + | Оператор |
- | + | < | |
- | Подготовленные | + | SELECT column_name(s) FROM table_name |
- | + | </ | |
- | - Подготовка. Шаблон инструкции SQL создается | + | или мы можем использовать символ |
- | - База данных анализирует, | + | < |
- | - Выполнение: | + | SELECT |
- | По сравнению с непосредственным выполнением операторов SQL подготовленные операторы | + | </ |
- | + | В следующем примере выбираются столбцы id, firstname | |
- | * Подготовленные операторы | + | |
- | * Связанные параметры минимизируют пропускную способность сервера, поскольку вам нужно каждый раз отправлять только параметры, а не весь запрос. | + | |
- | * Подготовленные операторы очень полезны против SQL-инъекций, | + | |
- | В следующем примере используются | + | |
В тело нашей страницы между тегами < | В тело нашей страницы между тегами < | ||
<file html index.php> | <file html index.php> | ||
Строка 381: | Строка 422: | ||
| | ||
- | // задайте параметры и выполните | + | |
- | $firstname | + | $sql = "SELECT id, firstname, |
- | $lastname | + | $result |
- | $email = " | + | |
- | $stmt->execute(); | + | |
- | $firstname | + | if ($result-> |
- | $lastname | + | // |
- | $email = "mary@example.com"; | + | |
- | $stmt->execute(); | + | |
+ | } | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | Строки кода для пояснения из примера выше: | ||
- | $firstname = " | + | Сначала мы настраиваем SQL-запрос, |
- | | + | |
- | | + | |
- | | + | |
- | echo "New records created successfully"; | + | Затем функция num_rows() проверяет, |
- | $stmt->close(); | + | Если возвращается более нуля строк, функция fetch_assoc() помещает все результаты в ассоциативный массив, |
- | // | + | \\ |
- | | + | Откроем нашу страницу в браузере, |
+ | * id: 1 - Имя: Джон Доу | ||
+ | * id: 4 - Имя: Влад Польский | ||
+ | * id: 5 - Имя: Джон Доу | ||
+ | * id: 6 - Имя: Мэри Мо | ||
+ | * id: 7 - Имя: Джули Дули | ||
+ | * id: 8 - Имя: Джон Доу | ||
+ | * id: 9 - Имя: Мэри Мо | ||
+ | * ID: 10 - Имя: Джули Дули | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | =====Выбор и фильтрация данных из базы данных MySQL===== | ||
+ | Предложение WHERE используется для фильтрации записей. | ||
+ | |||
+ | Предложение WHERE используется для извлечения только тех записей, | ||
+ | <code> | ||
+ | SELECT column_name(s) FROM table_name WHERE column_name operator value | ||
+ | </ | ||
+ | **Выбирайте и фильтруйте данные с помощью MySQLi** | ||
+ | В следующем примере выбираются столбцы id, firstname и Lastname из таблицы MyGuests, где фамилия — «Doe», и отображаются на странице: | ||
+ | В тело нашей страницы между тегами < | ||
+ | <file html index.php> | ||
+ | <? | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | // | ||
+ | $conn = new mysqli($servername, | ||
+ | // Проверим подключение | ||
+ | if ($conn-> | ||
+ | | ||
+ | } | ||
+ | // подготовить | ||
+ | $sql = " | ||
+ | $result = $conn->query($sql); | ||
+ | |||
+ | if ($result-> | ||
+ | // output data of each row | ||
+ | while($row = $result-> | ||
+ | echo "id: " . $row[" | ||
+ | } | ||
+ | } else { | ||
+ | echo "0 results"; | ||
+ | } | ||
?> | ?> | ||
</ | </ | ||
Строки кода для пояснения из примера выше: | Строки кода для пояснения из примера выше: | ||
+ | |||
+ | Сначала мы настраиваем SQL-запрос, | ||
+ | |||
+ | Затем проверяется, | ||
+ | |||
+ | Если возвращается более нуля строк, функция fetch_assoc()помещает все результаты в ассоциативный массив, | ||
+ | \\ | ||
+ | Откроем нашу страницу в браузере, | ||
+ | id: 1 - Имя: Джон Доу\\ | ||
+ | id: 5 - Имя: Джон Доу\\ | ||
+ | id: 8 - Имя: Джон Доу | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | =====Выбор и заказ данных из базы данных MySQL===== | ||
+ | Предложение ORDER BY используется для сортировки набора результатов в порядке возрастания или убывания. | ||
+ | |||
+ | Предложение ORDER BY по умолчанию сортирует записи в порядке возрастания. Чтобы отсортировать записи в порядке убывания, | ||
< | < | ||
- | " | + | SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC |
</ | </ | ||
- | В нашем SQL мы вставляем вопросительный знак (?) туда, где хотим заменить целое, строковое, двойное или | + | **Выбор и заказ данных с помощью MySQLi** |
+ | В следующем примере выбираются столбцы идентификатора, имени и фамилии из таблицы MyGuests. Записи будут упорядочены по столбцу фамилии: | ||
+ | В тело | ||
+ | <file html index.php> | ||
+ | <? | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | // Создаём соединение | ||
+ | $conn = new mysqli($servername, | ||
+ | // Проверим подключение | ||
+ | if ($conn-> | ||
+ | | ||
+ | } | ||
+ | // подготовить | ||
+ | $sql = " | ||
+ | | ||
- | Затем взгляните на функциюbind_param(): | + | if ($result-> |
+ | // output data of each row | ||
+ | | ||
+ | echo "id: " . $row[" | ||
+ | } | ||
+ | } else { | ||
+ | echo "0 results"; | ||
+ | } | ||
+ | // | ||
+ | | ||
+ | ?> | ||
+ | </ | ||
+ | Строки кода для пояснения из примера | ||
+ | |||
+ | Сначала мы настраиваем SQL-запрос, который выбирает столбцы идентификатора, | ||
+ | |||
+ | Затем проверяется, | ||
+ | |||
+ | Если возвращается более нуля строк, | ||
+ | \\ | ||
+ | Откроем нашу страницу в браузере, | ||
+ | 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\\ | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | Проверим создание новой записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | =====Удаление данных из таблицы MySQL с использованием MySQLi ===== | ||
+ | Оператор DELETE используется для удаления записей из таблицы: | ||
< | < | ||
- | $stmt-> | + | DELETE FROM table_name |
+ | WHERE some_column = some_value | ||
</ | </ | ||
- | Эта функция привязывает | + | **Обратите внимание на предложение WHERE в синтаксисе DELETE: Предложение WHERE указывает, какую запись или записи следует удалить. Если вы опустите предложение WHERE, все |
+ | Давайте посмотрим на таблицу «MyGuests»: | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | В следующих примерах удаляется запись с идентификатором = 5 в таблице «MyGuests»: | ||
+ | В тело нашей страницы | ||
+ | <file html index.php> | ||
+ | <? | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | // Создаём соединение | ||
+ | $conn = new mysqli($servername, | ||
+ | // Проверим подключение | ||
+ | if ($conn-> | ||
+ | | ||
+ | } | ||
+ | // sql to delete a record | ||
+ | $sql = " | ||
- | Аргумент может быть одного | + | if ($conn-> |
+ | echo " | ||
+ | } else { | ||
+ | echo "Error deleting record: " . $conn-> | ||
+ | } | ||
+ | // Закроем соединение | ||
+ | | ||
+ | ?> | ||
+ | </ | ||
- | * i - целое | + | \\ |
- | | + | Откроем нашу страницу в браузере, где увидим надпись: |
- | * s - строка | + | \\ |
- | * b - БЛОБ | + | {{: |
- | У нас должно быть по одному из них для каждого параметра. | + | \\ |
+ | Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | =====Обновление | ||
+ | Оператор UPDATE используется для обновления существующих записей в таблице: | ||
+ | < | ||
+ | UPDATE table_name | ||
+ | SET column1=value, | ||
+ | WHERE some_column=some_value | ||
+ | </ | ||
+ | **Обратите внимание на предложение WHERE в синтаксисе UPDATE: Предложение WHERE указывает, какую запись или записи следует | ||
+ | Давайте посмотрим на таблицу «MyGuests»: | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | В следующих примерах запись обновляется с id=4 в таблице «MyGuests». | ||
+ | В тело нашей страницы | ||
+ | <file html index.php> | ||
+ | <? | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | // Создаём соединение | ||
+ | $conn = new mysqli($servername, | ||
+ | // Проверим подключение | ||
+ | if ($conn-> | ||
+ | | ||
+ | } | ||
+ | $sql = " | ||
- | Сообщая mysql, какой тип данных | + | if ($conn-> |
+ | echo " | ||
+ | } else { | ||
+ | echo "Error updating record: " . $conn-> | ||
+ | } | ||
+ | // Закроем соединение | ||
+ | $conn-> | ||
+ | ?> | ||
+ | </ | ||
- | **Примечание.** Если мы хотим вставить какие-либо данные из внешних источников (например, | ||
\\ | \\ | ||
- | Откроем нашу страницу в браузере, | + | Откроем нашу страницу в браузере, |
\\ | \\ | ||
- | {{: | + | {{: |
\\ | \\ | ||
- | Проверим | + | Проверим записи в таблице MyGuests базы данных my_DB в MariaDB с помощью PhpMyAdmin |
\\ | \\ | ||
- | {{: | + | {{: |
\\ | \\ | ||
+ | =====Ограничение выбора данных из базы данных MySQL ===== | ||
+ | MySQL предоставляет предложение LIMIT, которое используется для указания количества возвращаемых записей. | ||
+ | |||
+ | Предложение LIMIT упрощает кодирование многостраничных результатов или разбиение на страницы с помощью SQL и очень полезно для больших таблиц. Возврат большого количества записей может повлиять на производительность. | ||
+ | |||
+ | Предположим, | ||
+ | < | ||
+ | $sql = " | ||
+ | </ | ||
+ | При выполнении приведенного выше SQL-запроса он вернет первые 30 записей. | ||
+ | |||
+ | Что делать, | ||
+ | |||
+ | Mysql также предоставляет способ справиться с этим: используя OFFSET. | ||
+ | |||
+ | В приведенном ниже SQL-запросе говорится: | ||
+ | < | ||
+ | $sql = " | ||
+ | </ | ||
+ | Вы также можете использовать более короткий синтаксис для достижения того же результата: | ||
+ | < | ||
+ | $sql = " | ||
+ | </ | ||
+ | Обратите внимание, | ||
+ | |||
+ | =====Ссылки и Примечания===== | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | MySQL]] |
software/development/web/docs/learn/mariadb/вatabase_creation.1708874988.txt.gz · Последнее изменение: — vladpolskiy