Hoe vraagt ​​de MySQL-database gegevens in een tabel op?Query-instructie/opdracht/syntaxis

MySQL-databaseHoe de gegevens in de tabel opvragen?Query-instructie/opdracht/syntaxis

MySQL Gegevens opvragen

MySQL-databases gebruiken SQL SELECT-instructies om gegevens op te vragen.

U kunt gegevens in de database opvragen via het opdrachtpromptvenster mysql> of via een PHP-script.

Grammatica

Het volgende is de algemene SELECT-syntaxis voor het opvragen van gegevens in een MySQL-database:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • In de query-instructie kunt u een of meer tabellen gebruiken, de tabellen scheiden met komma's (,) en de WHERE-instructie gebruiken om query-voorwaarden in te stellen.
  • Het SELECT-commando kan een of meer records lezen.
  • U kunt een asterisk (*) gebruiken om andere velden te vervangen, de SELECT-instructie retourneert alle veldgegevens van de tabel
  • U kunt de WHERE-instructie gebruiken om elke voorwaarde op te nemen.
  • U kunt de gegevensoffset opgeven waarop de SELECT-instructie de query start met OFFSET.Standaard is de offset 0.
  • U kunt de eigenschap LIMIT gebruiken om het aantal geretourneerde records in te stellen.

Gegevens ophalen via opdrachtprompt

In het volgende voorbeeld gebruiken we de opdracht SQL SELECT om de gegevens van de MySQL-gegevenstabel chenweiliang_tbl te verkrijgen:

Voorbeeld

Het volgende voorbeeld retourneert alle records van de gegevenstabel chenweiliang_tbl:

Lees de datasheet:

select * from chenweiliang_tbl;

Gebruik PHP-script om gegevens op te halen

PHP-functies gebruiken mysqli_query() en SQL KIEZEN opdracht om de gegevens op te halen.

Deze functie wordt gebruikt om SQL-opdrachten uit te voeren en vervolgens PHP-functies door te geven mysqli_fetch_array() om gegevens voor alle query's te gebruiken of uit te voeren.

mysqli_fetch_array() De functie haalt een rij op uit de resultaatset als een associatieve array, of een array van getallen, of beide.Retourneert een array die is gegenereerd op basis van de rijen die zijn opgehaald uit de resultaatset, of false als er geen rijen meer zijn.

Het volgende voorbeeld leest alle records uit de gegevenstabel chenweiliang_tbl.

Voorbeeld

Probeer het volgende voorbeeld om alle records van de gegevenstabel chenweiliang_tbl weer te geven.

Gebruik de mysqli_fetch_array MYSQL_ASSOC parameter om gegevens op te halen:

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

 

In het bovenstaande voorbeeld wordt elke rij met gelezen records toegewezen aan de variabele $row, en vervolgens wordt elke waarde afgedrukt.

Opmerking:Onthoud dat als u een variabele in een tekenreeks moet gebruiken, de variabele tussen accolades moet worden geplaatst.

In het bovenstaande voorbeeld is de tweede parameter van de PHP-functie mysqli_fetch_array() MYSQL_ASSOC, stel deze parameter in om het resultaat op te vragen om een ​​associatieve array te retourneren, u kunt de veldnaam gebruiken als de index van de array.

PHP biedt een andere functie mysqli_fetch_assoc(), neemt de functie een rij uit de resultaatset als een associatieve array.Retourneert een associatieve array die is gegenereerd op basis van de rijen uit de resultatenset, of false als er geen rijen meer zijn.

Voorbeeld

Probeer het volgende voorbeeld, dat gebruik maakt van mysqli_fetch_assoc() functie om alle records van de gegevenstabel chenweiliang_tbl uit te voeren:

Gebruik mysqli_fetch_assoc om gegevens op te halen:

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

Je kunt ook de constante MYSQL_NUM gebruiken als de tweede parameter van de PHP-functie mysqli_fetch_array() die een reeks getallen retourneert.

Voorbeeld

De volgende voorbeelden gebruiken MYSQL_NUM De parameter geeft alle records van de gegevenstabel chenweiliang_tbl weer:

Gebruik de mysqli_fetch_array MYSQL_NUM parameter om gegevens op te halen:

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

De uitvoerresultaten van de bovenstaande drie voorbeelden zijn hetzelfde.


geheugen vrijgeven

Het is een goede gewoonte om cursorgeheugen vrij te maken nadat we een SELECT-instructie hebben uitgevoerd.

Het geheugen kan worden vrijgegeven via de PHP-functie mysqli_free_result().

Het volgende voorbeeld demonstreert het gebruik van deze functie.

Voorbeeld

Probeer de volgende voorbeelden:

Vrij geheugen met 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);
?>
 

Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Hoe bevraagt ​​de MySQL-database de gegevens in de tabel?Query Statement/Command/Syntax" om u te helpen.

Welkom om de link van dit artikel te delen:https://www.chenweiliang.com/cwl-461.html

Welkom op het Telegram-kanaal van Chen Weiliang's blog voor de laatste updates!

🔔 Wees de eerste die de waardevolle "ChatGPT Content Marketing AI Tool Usage Guide" in de bovenste kanaaldirectory ontvangt! 🌟
📚 Deze gids bevat enorme waarde, 🌟Dit is een zeldzame kans, mis hem niet! ⏰⌛💨
Deel en like als je wilt!
Uw delen en likes zijn onze voortdurende motivatie!

 

发表 评论

Uw e-mailadres wordt niet gepubliceerd. 必填 项 已 用 * 标注

scroll naar boven