MySQL дерекқоры кестедегі деректерді қалай сұрайды?Сұрау мәлімдемесі/Команда/Синтаксис

MySQL деректер қорыКестедегі мәліметтерді қалай сұрауға болады?Сұрау мәлімдемесі/Команда/Синтаксис

MySQL Деректерді сұрау

MySQL дерекқорлары деректерді сұрау үшін SQL SELECT мәлімдемелерін пайдаланады.

Дерекқордағы деректерді mysql> пәрмен жолы терезесі арқылы немесе PHP сценарийі арқылы сұрауға болады.

грамматика

Төменде MySQL дерекқорындағы деректерді сұрауға арналған жалпы SELECT синтаксисі берілген:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Сұрау мәлімдемесінде бір немесе бірнеше кестелерді пайдалануға, кестелерді үтірмен (,) бөлуге және сұрау шарттарын орнату үшін WHERE операторын пайдалануға болады.
  • ТАҢДАУ пәрмені бір немесе бірнеше жазбаларды оқи алады.
  • Басқа өрістерді ауыстыру үшін жұлдызшаны (*) пайдалануға болады, SELECT операторы кестенің барлық өріс деректерін қайтарады.
  • Кез келген шартты қосу үшін WHERE операторын пайдалануға болады.
  • SELECT операторы сұрауды OFFSET арқылы бастайтын деректер ығысуын көрсете аласыз.Әдепкі бойынша ығысу 0 болады.
  • Қайтарылған жазбалар санын орнату үшін LIMIT сипатын пайдалануға болады.

Пәрмен жолы арқылы деректерді алыңыз

Келесі мысалда chenweiliang_tbl MySQL деректер кестесінің деректерін алу үшін SQL SELECT пәрменін қолданамыз:

Дана

Келесі мысал chenweiliang_tbl деректер кестесінің барлық жазбаларын қайтарады:

Деректер кестесін оқыңыз:

select * from chenweiliang_tbl;

Деректерді алу үшін PHP сценарийін пайдаланыңыз

PHP функцияларын пайдалану mysqli_query() және SQL ТАҢДАУ деректерді алу командасы.

Бұл функция SQL пәрмендерін орындау үшін, содан кейін PHP функцияларын беру үшін қолданылады mysqli_fetch_array() барлық сұраулар үшін деректерді пайдалану немесе шығару.

mysqli_fetch_array() Функция нәтижелер жиынынан жолды ассоциативті массив немесе сандар массиві немесе екеуі де алады.Нәтижелер жиынынан алынған жолдардан жасалған алапты қайтарады немесе басқа жолдар болмаса, жалған мәнін қайтарады.

Келесі мысал 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, ассоциативті массивді қайтару үшін нәтижені сұрау үшін осы параметрді орнатыңыз, өріс атауын массивтің индексі ретінде пайдалануға болады.

РНР басқа функцияны қамтамасыз етеді mysqli_fetch_assoc(), функция ассоциативті массив ретінде нәтижелер жиынынан жолды алады.Нәтиже жиынынан алынған жолдардан жасалған ассоциативті массивді қайтарады немесе басқа жолдар болмаса, жалған мәнін береді.

Дана

Келесі мысалды қолданып көріңіз 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 мазмұнды маркетингтік AI құралын пайдалану нұсқаулығын" бірінші болып алыңыз! 🌟
📚 Бұл нұсқаулықта үлкен құндылық бар, 🌟Бұл сирек мүмкіндік, оны жіберіп алмаңыз! ⏰⌛💨
Ұнаса лайк басып, бөлісіңіз!
Сіздің бөлісулеріңіз бен лайктарыңыз - біздің үздіксіз мотивациямыз!

 

Пікірлер

Сіздің электрондық пошта мекен-жайыңыз жарияланбайды. 必填 项 已 用 * 标注

жоғарыға жылжытыңыз