Hoe bevraagteken MySQL-databasis data in 'n tabel?Navraagverklaring/Opdrag/Sintaksis

MySQL databasisHoe om die data in die tabel te bevraagteken?Navraagverklaring/Opdrag/Sintaksis

MySQL Doen navraag oor data

MySQL-databasisse gebruik SQL SELECT-stellings om data te bevraagteken.

U kan data in die databasis navraag doen deur die mysql>-opdragpromptvenster, of deur 'n PHP-skrip.

grammatika

Die volgende is die algemene SELECT-sintaksis vir die navrae van data in 'n MySQL-databasis:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • In die navraagstelling kan jy een of meer tabelle gebruik, die tabelle met kommas (,) skei en die WHERE-stelling gebruik om navraagvoorwaardes te stel.
  • Die SELECT-opdrag kan een of meer rekords lees.
  • Jy kan 'n asterisk (*) gebruik om ander velde te vervang, die SELECT-stelling sal alle velddata van die tabel terugstuur
  • Jy kan die WHERE-stelling gebruik om enige voorwaarde in te sluit.
  • Jy kan die data offset spesifiseer waarteen die SELECT stelling die navraag begin met OFFSET.By verstek is die afset 0.
  • Jy kan die LIMIT-eienskap gebruik om die aantal rekords wat teruggestuur word, te stel.

Kry data via opdragprompt

In die volgende voorbeeld sal ons die SQL SELECT-opdrag gebruik om die data van die MySQL-datatabel chenweiliang_tbl te verkry:

Instansie

Die volgende voorbeeld sal alle rekords van die datatabel chenweiliang_tbl terugstuur:

Lees die datablad:

select * from chenweiliang_tbl;

Gebruik PHP-skrip om data te kry

PHP-funksies gebruik mysqli_query() en SQL KIES opdrag om die data te kry.

Hierdie funksie word gebruik om SQL-opdragte uit te voer en dan PHP-funksies deur te gee mysqli_fetch_array() om data vir alle navrae te gebruik of uit te voer.

mysqli_fetch_array() Die funksie haal 'n ry uit die resultaatstel as 'n assosiatiewe skikking, of 'n skikking van getalle, of albei. Wys 'n skikking gegenereer uit die rye wat uit die resultaatstel gehaal is, of vals as daar nie meer rye is nie.

Die volgende voorbeeld lees alle rekords van die datatabel chenweiliang_tbl.

Instansie

Probeer die volgende voorbeeld om alle rekords van die datatabel chenweiliang_tbl te vertoon.

Gebruik die mysqli_fetch_array MYSQL_ASSOC parameter om data te gaan haal:

<?
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 die voorbeeld hierbo word elke ry rekords wat gelees is, aan die veranderlike $ry toegewys, en dan word elke waarde uitgedruk.

Let wel:Onthou dat as jy 'n veranderlike in 'n string moet gebruik, plaas die veranderlike in krullerige hakies.

In die bostaande voorbeeld is die tweede parameter van die PHP mysqli_fetch_array() funksie MYSQL_ASSOC, stel hierdie parameter om die resultaat navraag te doen om 'n assosiatiewe skikking terug te gee, kan jy die veldnaam as die indeks van die skikking gebruik.

PHP bied 'n ander funksie mysqli_fetch_assoc(), neem die funksie 'n ry uit die resultaatstel as 'n assosiatiewe skikking.Wys 'n assosiatiewe skikking gegenereer uit die rye geneem uit die resultaatstel, of vals as daar nie meer rye is nie.

Instansie

Probeer die volgende voorbeeld, wat gebruik mysqli_fetch_assoc() funksie om alle rekords van die datatabel chenweiliang_tbl uit te voer:

Gebruik mysqli_fetch_assoc om data te gaan haal:

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

Jy kan ook die konstante MYSQL_NUM as die tweede parameter van die PHP mysqli_fetch_array() funksie gebruik, wat 'n skikking van getalle terugstuur.

Instansie

Die volgende voorbeelde gebruik MYSQL_NUM Die parameter vertoon alle rekords van die datatabel chenweiliang_tbl:

Gebruik die mysqli_fetch_array MYSQL_NUM parameter om data te gaan haal:

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

Die uitsetresultate van bogenoemde drie voorbeelde is dieselfde.


geheue vrystelling

Dit is 'n goeie praktyk om wysergeheue vry te maak nadat ons 'n SELECT-stelling uitgevoer het.

Die geheue kan vrygestel word deur die PHP-funksie mysqli_free_result().

Die volgende voorbeeld demonstreer die gebruik van hierdie funksie.

Instansie

Probeer die volgende voorbeelde:

Bevry geheue 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/ ) gedeel "Hoe bevraagteken die MySQL-databasis die data in die tabel?Navraagverklaring/opdrag/sintaksis" om jou te help.

Welkom om die skakel van hierdie artikel te deel:https://www.chenweiliang.com/cwl-461.html

Welkom by die Telegram-kanaal van Chen Weiliang se blog om die nuutste opdaterings te kry!

🔔 Wees die eerste om die waardevolle "ChatGPT Content Marketing AI Tool Usage Guide" in die kanaal se topgids te kry! 🌟
📚 Hierdie gids bevat groot waarde, 🌟Dit is 'n seldsame geleentheid, moet dit nie misloop nie! ⏰⌛💨
Share en like as jy wil!
Jou deel en laaiks is ons voortdurende motivering!

 

发表 评论

U e-posadres sal nie gepubliseer word nie. Vereiste velde word gebruik * Etiket

blaai na bo