Hvordan spør MySQL-databasen data i en tabell?Spørringserklæring/Kommando/Syntaks

MySQL-databaseHvordan spørre etter dataene i tabellen?Spørringserklæring/Kommando/Syntaks

MySQL Spør data

MySQL-databaser bruker SQL SELECT-setninger for å søke etter data.

Du kan søke etter data i databasen gjennom mysql> ledetekstvinduet, eller gjennom et PHP-skript.

grammatikk

Følgende er den generelle SELECT-syntaksen for å spørre etter data i en MySQL-database:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • I spørringssetningen kan du bruke én eller flere tabeller, skille tabellene med komma (,), og bruke WHERE-setningen til å angi spørringsbetingelser.
  • SELECT-kommandoen kan lese en eller flere poster.
  • Du kan bruke en stjerne (*) for å erstatte andre felt, SELECT-setningen vil returnere alle feltdata i tabellen
  • Du kan bruke WHERE-setningen til å inkludere en hvilken som helst betingelse.
  • Du kan spesifisere dataforskyvningen der SELECT-setningen starter spørringen med OFFSET.Som standard er forskyvningen 0.
  • Du kan bruke LIMIT-egenskapen til å angi antall poster som returneres.

Få data via ledeteksten

I følgende eksempel vil vi bruke SQL SELECT-kommandoen for å hente dataene til MySQL-datatabellen chenweiliang_tbl:

Forekomst

Følgende eksempel vil returnere alle poster i datatabellen chenweiliang_tbl:

Les databladet:

select * from chenweiliang_tbl;

Bruk PHP-skript for å få data

ved hjelp av PHP-funksjoner mysqli_query() og SQL SELECT kommando for å hente dataene.

Denne funksjonen brukes til å utføre SQL-kommandoer og deretter sende PHP-funksjoner mysqli_fetch_array() å bruke eller sende ut data for alle søk.

mysqli_fetch_array() Funksjonen tar en rad fra resultatsettet som en assosiativ matrise, eller en matrise med tall, eller begge deler. Returnerer en matrise generert fra radene hentet fra resultatsettet, eller false hvis det ikke er flere rader.

Følgende eksempel leser alle poster fra datatabellen chenweiliang_tbl.

Forekomst

Prøv følgende eksempel for å vise alle postene i datatabellen chenweiliang_tbl.

Bruk parameteren mysqli_fetch_array MYSQL_ASSOC for å hente data:

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

 

I eksemplet ovenfor tildeles hver rad med leste poster til variabelen $row, og deretter skrives hver verdi ut.

Merk:Husk at hvis du trenger å bruke en variabel i en streng, sett variabelen i krøllete klammeparenteser.

I eksemplet ovenfor er den andre parameteren til PHP mysqli_fetch_array() funksjonen MYSQL_ASSOC, sett denne parameteren for å spørre resultatet for å returnere en assosiativ matrise, kan du bruke feltnavnet som indeksen til matrisen.

PHP gir en annen funksjon mysqli_fetch_assoc(), tar funksjonen en rad fra resultatsettet som en assosiativ matrise.Returnerer en assosiativ matrise generert fra radene hentet fra resultatsettet, eller falsk hvis det ikke er flere rader.

Forekomst

Prøv følgende eksempel, som bruker mysqli_fetch_assoc() funksjon for å sende ut alle poster i datatabellen chenweiliang_tbl:

Bruk mysqli_fetch_assoc for å hente data:

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

Du kan også bruke konstanten MYSQL_NUM som den andre parameteren i PHP-funksjonen mysqli_fetch_array(), som returnerer en rekke tall.

Forekomst

Følgende eksempler bruker MYSQL_NUM Parameteren viser alle poster i datatabellen chenweiliang_tbl:

Bruk parameteren mysqli_fetch_array MYSQL_NUM for å hente data:

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

Utdataresultatene fra de tre eksemplene ovenfor er de samme.


minneutgivelse

Det er en god praksis å frigjøre markørminne etter at vi har utført en SELECT-setning.

Minnet kan frigjøres gjennom PHP-funksjonen mysqli_free_result().

Følgende eksempel viser bruken av denne funksjonen.

Forekomst

Prøv følgende eksempler:

Frigjør minne med 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 blogg ( https://www.chenweiliang.com/ ) delt "Hvordan spør MySQL-databasen om dataene i tabellen?Spørringserklæring/kommando/syntaks" for å hjelpe deg.

Velkommen til å dele lenken til denne artikkelen:https://www.chenweiliang.com/cwl-461.html

Velkommen til Telegram-kanalen til Chen Weiliangs blogg for å få de siste oppdateringene!

🔔 Vær den første til å få den verdifulle "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens toppkatalog! 🌟
📚 Denne guiden inneholder enorm verdi, 🌟Dette er en sjelden mulighet, ikke gå glipp av den! ⏰⌛💨
Del og lik om du vil!
Din deling og likes er vår kontinuerlige motivasjon!

 

发表 评论

E-postadressen din vil ikke offentliggjøres. 必填 项 已 用 * Merkelapp

bla til toppen