In che modo il database MySQL esegue query sui dati in una tabella?Istruzione/comando/sintassi di query

Database MySQLCome interrogare i dati nella tabella?Istruzione/comando/sintassi di query

MySQL Interroga i dati

I database MySQL utilizzano le istruzioni SQL SELECT per interrogare i dati.

È possibile eseguire query sui dati nel database tramite la finestra del prompt dei comandi mysql> o tramite uno script PHP.

grammatica

Quella che segue è la sintassi generale SELECT per interrogare i dati in un database MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Nell'istruzione della query è possibile utilizzare una o più tabelle, separare le tabelle con virgole (,) e utilizzare l'istruzione WHERE per impostare le condizioni della query.
  • Il comando SELECT può leggere uno o più record.
  • È possibile utilizzare un asterisco (*) per sostituire altri campi, l'istruzione SELECT restituirà tutti i dati dei campi della tabella
  • È possibile utilizzare l'istruzione WHERE per includere qualsiasi condizione.
  • È possibile specificare l'offset di dati in corrispondenza del quale l'istruzione SELECT avvia la query con OFFSET.Di default l'offset è 0.
  • È possibile utilizzare la proprietà LIMIT per impostare il numero di record restituiti.

Ottieni dati tramite prompt dei comandi

Nell'esempio seguente, utilizzeremo il comando SQL SELECT per ottenere i dati della tabella dati MySQL chenweiliang_tbl:

Esempio

L'esempio seguente restituirà tutti i record della tabella di dati chenweiliang_tbl:

Leggi la scheda tecnica:

select * from chenweiliang_tbl;

Usa lo script PHP per ottenere i dati

usando le funzioni PHP mysqli_query() E SELEZIONA SQL comando per ottenere i dati.

Questa funzione viene utilizzata per eseguire comandi SQL e quindi passare le funzioni PHP mysqli_fetch_array() per utilizzare o generare dati per tutte le query.

mysqli_fetch_array() La funzione recupera una riga dal set di risultati come matrice associativa o una matrice di numeri o entrambi Restituisce una matrice generata dalle righe recuperate dal set di risultati o false se non ci sono più righe.

L'esempio seguente legge tutti i record dalla tabella di dati chenweiliang_tbl.

Esempio

Prova l'esempio seguente per visualizzare tutti i record della tabella di dati chenweiliang_tbl.

Utilizzare il parametro mysqli_fetch_array MYSQL_ASSOC per recuperare i dati:

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

 

Nell'esempio precedente, ogni riga di record letti viene assegnata alla variabile $riga, quindi ogni valore viene stampato.

Nota:Ricorda che se devi usare una variabile in una stringa, metti la variabile tra parentesi graffe.

Nell'esempio sopra, il secondo parametro della funzione PHP mysqli_fetch_array() è MySQL_ASSOC, impostare questo parametro per interrogare il risultato per restituire un array associativo, è possibile utilizzare il nome del campo come indice dell'array.

PHP fornisce un'altra funzione mysqli_fetch_assoc(), la funzione prende una riga dal set di risultati come matrice associativa.Restituisce un array associativo generato dalle righe prelevate dal set di risultati o false se non ci sono più righe.

Esempio

Prova il seguente esempio, che usa mysqli_fetch_assoc() funzione per emettere tutti i record della tabella dati chenweiliang_tbl:

Usa mysqli_fetch_assoc per recuperare i dati:

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

Puoi anche usare la costante MYSQL_NUM come secondo parametro della funzione PHP mysqli_fetch_array(), che restituisce un array di numeri.

Esempio

I seguenti esempi usano MYSQL_NUM Il parametro visualizza tutti i record della tabella dati chenweiliang_tbl:

Utilizzare il parametro mysqli_fetch_array MYSQL_NUM per recuperare i dati:

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

I risultati di output dei tre esempi precedenti sono gli stessi.


rilascio di memoria

È buona norma liberare la memoria del cursore dopo aver eseguito un'istruzione SELECT.

La memoria può essere rilasciata tramite la funzione PHP mysqli_free_result().

L'esempio seguente mostra l'uso di questa funzione.

Esempio

Prova i seguenti esempi:

Memoria libera con 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);
?>
 

Speranza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "In che modo il database MySQL interroga i dati nella tabella?Query Statement/Command/Syntax" per aiutarti.

Benvenuti a condividere il link di questo articolo:https://www.chenweiliang.com/cwl-461.html

Benvenuto nel canale Telegram del blog di Chen Weiliang per ricevere gli ultimi aggiornamenti!

🔔 Sii il primo a ricevere la preziosa "Guida all'utilizzo dello strumento AI di marketing dei contenuti ChatGPT" nella directory principale del canale! 🌟
📚 Questa guida contiene un valore enorme, 🌟Questa è un'opportunità rara, non perderla! ⏰⌛💨
Condividi e metti mi piace se ti va!
La tua condivisione e i tuoi like sono la nostra continua motivazione!

 

发表 评论

L'indirizzo email non verrà pubblicato. 必填 项 已 用 * 标注

滚动 到 顶部