Hvordan forespørger MySQL-databasen data i en tabel?Forespørgselserklæring/Kommando/Syntaks

MySQL databaseHvordan forespørger man dataene i tabellen?Forespørgselserklæring/Kommando/Syntaks

MySQL Forespørg data

MySQL-databaser bruger SQL SELECT-sætninger til at forespørge data.

Du kan forespørge data i databasen gennem mysql> kommandopromptvinduet eller gennem et PHP-script.

grammatik

Følgende er den generelle SELECT-syntaks til at forespørge data i en MySQL-database:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • I forespørgselssætningen kan du bruge en eller flere tabeller, adskille tabellerne med kommaer (,) og bruge WHERE-sætningen til at angive forespørgselsbetingelser.
  • SELECT-kommandoen kan læse en eller flere poster.
  • Du kan bruge en stjerne (*) til at erstatte andre felter, SELECT-sætningen vil returnere alle feltdata i tabellen
  • Du kan bruge WHERE-sætningen til at inkludere enhver betingelse.
  • Du kan angive den dataforskydning, ved hvilken SELECT-sætningen starter forespørgslen med OFFSET.Som standard er offset 0.
  • Du kan bruge egenskaben LIMIT til at indstille antallet af returnerede poster.

Hent data via kommandoprompt

I det følgende eksempel vil vi bruge SQL SELECT-kommandoen til at hente dataene fra MySQL-datatabellen chenweiliang_tbl:

Instans

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

Læs databladet:

select * from chenweiliang_tbl;

Brug PHP-script til at hente data

ved hjælp af PHP-funktioner mysqli_query() 及 SQL SELECT kommando for at hente dataene.

Denne funktion bruges til at udføre SQL-kommandoer og derefter sende PHP-funktioner mysqli_fetch_array() at bruge eller udlæse data til alle forespørgsler.

mysqli_fetch_array() Funktionen henter en række fra resultatsættet som en associativ matrix, eller en matrix af tal, eller begge dele Returnerer en matrix genereret fra rækkerne hentet fra resultatsættet, eller falsk, hvis der ikke er flere rækker.

Det følgende eksempel læser alle poster fra datatabellen chenweiliang_tbl.

Instans

Prøv følgende eksempel for at vise alle poster i datatabellen chenweiliang_tbl.

Brug parameteren mysqli_fetch_array MYSQL_ASSOC til at 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 ovenstående eksempel er hver række af læste poster tildelt variablen $row, og hver værdi udskrives derefter.

Note:Husk, at hvis du skal bruge en variabel i en streng, skal du sætte variablen i krøllede klammer.

I ovenstående eksempel er den anden parameter i PHP mysqli_fetch_array() funktionen MYSQL_ASSOC, indstil denne parameter for at forespørge resultatet for at returnere en associativ matrix, kan du bruge feltnavnet som indekset for matrixen.

PHP giver en anden funktion mysqli_fetch_assoc(), tager funktionen en række fra resultatsættet som en associativ matrix.Returnerer en associativ matrix genereret fra rækkerne taget fra resultatsættet, eller falsk, hvis der ikke er flere rækker.

Instans

Prøv følgende eksempel, som bruger mysqli_fetch_assoc() funktion til at udlæse alle poster i datatabellen chenweiliang_tbl:

Brug mysqli_fetch_assoc til at 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å bruge konstanten MYSQL_NUM som den anden parameter i PHP-funktionen mysqli_fetch_array(), som returnerer en matrix af tal.

Instans

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

Brug parameteren mysqli_fetch_array MYSQL_NUM til at 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);
?>

Outputresultaterne af de ovenstående tre eksempler er de samme.


hukommelsesfrigivelse

Det er en god praksis at frigøre markørhukommelse, efter at vi har udført en SELECT-sætning.

Hukommelsen kan frigives gennem PHP-funktionen mysqli_free_result().

Følgende eksempel viser brugen af ​​denne funktion.

Instans

Prøv følgende eksempler:

Frigør hukommelse 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 Blog ( https://www.chenweiliang.com/ ) delt "Hvordan forespørger MySQL-databasen om dataene i tabellen?Forespørgselserklæring/kommando/syntaks" for at hjælpe dig.

Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-461.html

Velkommen til Telegram-kanalen på Chen Weiliangs blog for at få de seneste opdateringer!

🔔 Vær den første til at få den værdifulde "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens øverste bibliotek! 🌟
📚 Denne guide indeholder enorm værdi, 🌟Dette er en sjælden mulighed, gå ikke glip af det! ⏰⌛💨
Del og like hvis du har lyst!
Din deling og likes er vores kontinuerlige motivation!

 

发表 评论

Din e-mail-adresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

scroll til toppen