Как 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 и след това всяка стойност се отпечатва.

Забележка: Не забравяйте да затворите променливата в къдрави скоби, ако трябва да я използвате в низ.

В горния пример, вторият параметър на функцията mysqli_fetch_array() в PHP е 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 канал!

Споделете и харесайте, ако ви харесва! Вашите споделяния и харесвания са нашата постоянна мотивация!

 

发表 评论

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

Преминете към Top