Як база даних 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);
?>
 

Сподіваюся, стаття «Як запитувати дані з таблиці в базі даних MySQL? Оператори/Команди запитів/Синтаксис», опублікована в блозі Ченя Вейляна ( https://www.chenweiliang.com/ ), буде вам корисною.

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

Щоб розкрити більше прихованих хитрощів🔑, приєднуйтесь до нашого Telegram-каналу!

Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Прокрутка до початку