Kā MySQL datu bāze vaicā datus tabulā?Vaicājuma paziņojums/komanda/sintakse

MySQL datu bāzeKā vaicāt datus tabulā?Vaicājuma paziņojums/komanda/sintakse

MySQL Pieprasīt datus

MySQL datu bāzēs datu vaicāšanai tiek izmantoti SQL SELECT priekšraksti.

Varat vaicāt datus datu bāzē, izmantojot mysql> komandrindas logu vai PHP skriptu.

gramatika

Tālāk ir sniegta vispārīgā SELECT sintakse datu vaicāšanai MySQL datu bāzē:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Vaicājuma priekšrakstā varat izmantot vienu vai vairākas tabulas, atdalīt tabulas ar komatiem (,) un izmantot priekšrakstu WHERE, lai iestatītu vaicājuma nosacījumus.
  • Komanda SELECT var nolasīt vienu vai vairākus ierakstus.
  • Varat izmantot zvaigznīti (*), lai aizstātu citus laukus; priekšraksts SELECT atgriezīs visus tabulas lauka datus.
  • Varat izmantot WHERE priekšrakstu, lai iekļautu jebkuru nosacījumu.
  • Varat norādīt datu nobīdi, pie kuras priekšraksts SELECT sāk vaicājumu ar OFFSET.Pēc noklusējuma nobīde ir 0.
  • Varat izmantot rekvizītu LIMIT, lai iestatītu atgriezto ierakstu skaitu.

Iegūstiet datus, izmantojot komandu uzvedni

Nākamajā piemērā mēs izmantosim komandu SQL SELECT, lai iegūtu MySQL datu tabulas chenweiliang_tbl datus:

Piemērs

Šis piemērs atgriezīs visus datu tabulas chenweiliang_tbl ierakstus:

Izlasiet datu lapu:

select * from chenweiliang_tbl;

Izmantojiet PHP skriptu, lai iegūtu datus

izmantojot PHP funkcijas mysqli_query() un SQL SELECT komandu, lai iegūtu datus.

Šo funkciju izmanto, lai izpildītu SQL komandas un pēc tam nodotu PHP funkcijas mysqli_fetch_array() lai izmantotu vai izvadītu datus visiem vaicājumiem.

mysqli_fetch_array() Funkcija ienes rindu no rezultātu kopas kā asociatīvu masīvu vai skaitļu masīvu, vai abus. Atgriež masīvu, kas ģenerēts no rindām, kas iegūtas no rezultātu kopas, vai false, ja rindu vairs nav.

Šis piemērs nolasa visus ierakstus no datu tabulas chenweiliang_tbl.

Piemērs

Izmēģiniet šo piemēru, lai parādītu visus datu tabulas chenweiliang_tbl ierakstus.

Izmantojiet parametru mysqli_fetch_array MYSQL_ASSOC, lai iegūtu datus:

<?
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);
?>

 

Iepriekš minētajā piemērā katra nolasīto ierakstu rinda tiek piešķirta mainīgajam $row, un pēc tam katra vērtība tiek izdrukāta.

Piezīme:Atcerieties, ka, ja virknē jāizmanto mainīgais, ievietojiet mainīgo iekavās.

Iepriekš minētajā piemērā PHP mysqli_fetch_array() funkcijas otrais parametrs ir MYSQL_ASSOC, iestatiet šo parametru, lai vaicātu rezultātu, lai atgrieztu asociatīvo masīvu, lauka nosaukumu varat izmantot kā masīva indeksu.

PHP nodrošina citu funkciju mysqli_fetch_assoc(), funkcija ņem rindu no rezultātu kopas kā asociatīvu masīvu.Atgriež asociatīvu masīvu, kas ģenerēts no rindām, kas ņemtas no rezultātu kopas, vai atgriež false, ja rindu vairs nav.

Piemērs

Izmēģiniet šādu piemēru, kas izmanto mysqli_fetch_assoc() funkcija, lai izvadītu visus datu tabulas chenweiliang_tbl ierakstus:

Izmantojiet mysqli_fetch_assoc, lai iegūtu datus:

<?
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);
?>

Varat arī izmantot konstantu MYSQL_NUM kā otro PHP funkcijas mysqli_fetch_array() parametru, kas atgriež skaitļu masīvu.

Piemērs

Tālāk minētie piemēri izmanto MYSQL_NUM Parametrs parāda visus datu tabulas chenweiliang_tbl ierakstus:

Izmantojiet parametru mysqli_fetch_array MYSQL_NUM, lai iegūtu datus:

<?
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);
?>

Iepriekš minēto trīs piemēru izvades rezultāti ir vienādi.


atmiņas atbrīvošana

Laba prakse ir atbrīvot kursora atmiņu pēc tam, kad esam izpildījuši SELECT priekšrakstu.

Atmiņu var atbrīvot, izmantojot PHP funkciju mysqli_free_result().

Šis piemērs parāda šīs funkcijas izmantošanu.

Piemērs

Izmēģiniet tālāk norādītos piemērus.

Brīva atmiņa ar 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 emuārs ( https://www.chenweiliang.com/ ) share "Kā MySQL datu bāze vaicā datus tabulā?Vaicājuma paziņojums/komanda/sintakse”, lai jums palīdzētu.

Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-461.html

Laipni lūdzam Chen Weiliang emuāra Telegram kanālā, lai saņemtu jaunākos atjauninājumus!

🔔 Esiet pirmais, kas kanāla augšējā direktorijā iegūst vērtīgo "ChatGPT satura mārketinga AI rīka lietošanas ceļvedi"! 🌟
📚 Šajā rokasgrāmatā ir milzīga vērtība, 🌟Šī ir reta iespēja, nepalaidiet to garām! ⏰⌛💨
Dalies un patīk, ja patīk!
Jūsu kopīgošana un atzīmes Patīk ir mūsu nepārtraukta motivācija!

 

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

ritiniet uz augšu