Як база даних MySQL запитує дані в таблиці?Запит/Команда/Синтаксис

База даних MySQLЯк отримати дані в таблиці?Запит/команда/синтаксис

MySQL Дані запиту

Бази даних MySQL використовують оператори SQL SELECT для запиту даних.

Ви можете запитувати дані в базі даних через вікно командного рядка mysql> або через сценарій PHP.

граматика

Нижче наведено загальний синтаксис SELECT для запиту даних у базі даних MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • У операторі запиту можна використовувати одну або кілька таблиць, розділяючи таблиці комами (,), і використовувати оператор WHERE для встановлення умов запиту.
  • Команда SELECT може читати один або декілька записів.
  • Ви можете використовувати зірочку (*), щоб замінити інші поля, оператор SELECT поверне всі дані полів таблиці
  • Ви можете використовувати оператор WHERE, щоб включити будь-яку умову.
  • Ви можете вказати зміщення даних, за якого оператор SELECT починає запит, за допомогою OFFSET.За замовчуванням зміщення дорівнює 0.
  • Ви можете використовувати властивість LIMIT, щоб установити кількість повернутих записів.

Отримати дані через командний рядок

У наступному прикладі ми використаємо команду SQL SELECT для отримання даних таблиці даних MySQL chenweiliang_tbl:

Екземпляр

Наступний приклад поверне всі записи таблиці даних chenweiliang_tbl:

Прочитайте таблицю даних:

select * from chenweiliang_tbl;

Використовуйте скрипт PHP для отримання даних

за допомогою функцій PHP mysqli_query() І SQL SELECT команда для отримання даних.

Ця функція використовується для виконання команд SQL і передачі функцій PHP mysqli_fetch_array () використовувати або виводити дані для всіх запитів.

mysqli_fetch_array () Функція отримує рядок із набору результатів у вигляді асоціативного масиву, або масиву чисел, або обох. Повертає масив, згенерований із рядків, отриманих із набору результатів, або false, якщо рядків більше немає.

У наступному прикладі читаються всі записи з таблиці даних chenweiliang_tbl.

Екземпляр

Спробуйте наступний приклад, щоб відобразити всі записи таблиці даних chenweiliang_tbl.

Використовуйте параметр mysqli_fetch_array MYSQL_ASSOC для отримання даних:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

 

У наведеному вище прикладі кожен прочитаний рядок записів присвоюється змінній $row, а потім кожне значення виводиться на друк.

Примітка:Пам’ятайте, що якщо вам потрібно використовувати змінну в рядку, помістіть змінну у фігурні дужки.

У наведеному вище прикладі другим параметром функції PHP mysqli_fetch_array() є MYSQL_ASSOC, встановіть цей параметр, щоб запитувати результат для повернення асоціативного масиву, ви можете використовувати назву поля як індекс масиву.

PHP надає ще одну функцію mysqli_fetch_assoc(), функція бере рядок із набору результатів як асоціативний масив.Повертає асоціативний масив, згенерований із рядків, узятих із набору результатів, або false, якщо рядків більше немає.

Екземпляр

Спробуйте наступний приклад, який використовує mysqli_fetch_assoc() функція для виведення всіх записів таблиці даних chenweiliang_tbl:

Використовуйте mysqli_fetch_assoc для отримання даних:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_assoc($retval))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Ви також можете використовувати константу MYSQL_NUM як другий параметр функції PHP mysqli_fetch_array(), яка повертає масив чисел.

Екземпляр

Використовуйте наступні приклади MYSQL_NUM Параметр відображає всі записи таблиці даних chenweiliang_tbl:

Використовуйте параметр mysqli_fetch_array MYSQL_NUM для отримання даних:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Вихідні результати трьох наведених вище прикладів однакові.


звільнення пам'яті

Рекомендується звільнити пам’ять курсора після того, як ми виконали оператор SELECT.

Пам'ять можна звільнити за допомогою функції PHP mysqli_free_result().

Наступний приклад демонструє використання цієї функції.

Екземпляр

Спробуйте такі приклади:

Звільнення пам'яті за допомогою mysqli_free_result:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>
 

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) поділився «Як база даних MySQL запитує дані в таблиці?Запит/команда/синтаксис", щоб допомогти вам.

Ласкаво просимо поділитися посиланням на цю статтю:https://www.chenweiliang.com/cwl-461.html

Ласкаво просимо до каналу Telegram у блозі Чень Вейляна, щоб отримувати останні оновлення!

🔔 Станьте першим, хто отримає цінний «Посібник із використання інструменту штучного інтелекту маркетингу контенту ChatGPT» у верхньому каталозі каналу! 🌟
📚 Цей посібник має величезну цінність. 🌟Це рідкісна можливість, не пропустіть її! ⏰⌛💨
Поділіться та вподобайте, якщо вам подобається!
Ваші публікації та лайки є нашою постійною мотивацією!

 

发表 评论

Ваша електронна адреса не буде опублікована. 必填 项 已 用 * Етикетка

прокрутіть наверх