Hur frågar MySQL-databas data i en tabell?Fråga uttalande/Kommando/Syntax

MySQL-databasHur frågar man efter data i tabellen?Fråga uttalande/Kommando/Syntax

MySQL Fråga data

MySQL-databaser använder SQL SELECT-satser för att fråga data.

Du kan fråga data i databasen genom mysql> kommandotolksfönstret eller genom ett PHP-skript.

grammatik

Följande är den allmänna SELECT-syntaxen för att söka efter data i en MySQL-databas:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • I frågesatsen kan du använda en eller flera tabeller, separera tabellerna med kommatecken (,) och använda WHERE-satsen för att ställa in frågevillkor.
  • Kommandot SELECT kan läsa en eller flera poster.
  • Du kan använda en asterisk (*) för att ersätta andra fält, SELECT-satsen returnerar all fältdata i tabellen
  • Du kan använda WHERE-satsen för att inkludera alla villkor.
  • Du kan ange den dataoffset vid vilken SELECT-satsen startar frågan med OFFSET.Som standard är offset 0.
  • Du kan använda egenskapen LIMIT för att ställa in antalet poster som returneras.

Hämta data via kommandotolken

I följande exempel kommer vi att använda kommandot SQL SELECT för att hämta data från MySQL-datatabellen chenweiliang_tbl:

exempel

Följande exempel kommer att returnera alla poster i datatabellen chenweiliang_tbl:

Läs databladet:

select * from chenweiliang_tbl;

Använd PHP-skript för att hämta data

Använder PHP-funktioner mysqli_query() Och SQL SELECT kommando för att hämta data.

Denna funktion används för att köra SQL-kommandon och sedan skicka PHP-funktioner mysqli_fetch_array() att använda eller mata ut data för alla frågor.

mysqli_fetch_array() Funktionen hämtar en rad från resultatuppsättningen som en associativ matris, eller en matris med tal, eller båda. Returnerar en matris genererad från raderna som hämtats från resultatuppsättningen, eller false om det inte finns fler rader.

Följande exempel läser alla poster från datatabellen chenweiliang_tbl.

exempel

Försök med följande exempel för att visa alla poster i datatabellen chenweiliang_tbl.

Använd parametern mysqli_fetch_array MYSQL_ASSOC för att hämta 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 exemplet ovan tilldelas varje rad med läser poster till variabeln $row, och sedan skrivs varje värde ut.

Anmärkning:Kom ihåg att om du behöver använda en variabel i en sträng, sätt variabeln i hängslen.

I exemplet ovan är den andra parametern i PHP mysqli_fetch_array()-funktionen MYSQL_ASSOC, ställ in den här parametern för att fråga resultatet för att returnera en associativ array, du kan använda fältnamnet som index för arrayen.

PHP tillhandahåller en annan funktion mysqli_fetch_assoc(), tar funktionen en rad från resultatuppsättningen som en associativ array.Returnerar en associativ array genererad från raderna från resultatuppsättningen, eller falsk om det inte finns fler rader.

exempel

Prova följande exempel, som använder mysqli_fetch_assoc() funktion för att mata ut alla poster i datatabellen chenweiliang_tbl:

Använd mysqli_fetch_assoc för att hämta 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 också använda konstanten MYSQL_NUM som den andra parametern i PHP-funktionen mysqli_fetch_array(), som returnerar en array med tal.

exempel

Följande exempel använder MYSQL_NUM Parametern visar alla poster i datatabellen chenweiliang_tbl:

Använd parametern mysqli_fetch_array MYSQL_NUM för att hämta 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);
?>

Resultaten för de tre ovanstående exemplen är desamma.


minnessläpp

Det är en bra praxis att frigöra markörminne efter att vi har kört en SELECT-sats.

Minnet kan frigöras genom PHP-funktionen mysqli_free_result().

Följande exempel visar användningen av denna funktion.

exempel

Prova följande exempel:

Frigö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/ ) delad "Hur frågar MySQL-databasen data i tabellen?Query Statement/Command/Syntax" för att hjälpa dig.

Välkommen att dela länken till denna artikel:https://www.chenweiliang.com/cwl-461.html

Välkommen till Telegram-kanalen på Chen Weiliangs blogg för att få de senaste uppdateringarna!

🔔 Bli först med att få den värdefulla "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens toppkatalog! 🌟
📚 Den här guiden innehåller ett enormt värde, 🌟Detta är ett sällsynt tillfälle, missa inte det! ⏰⌛💨
Dela och gilla om du vill!
Dina delning och likes är vår ständiga motivation!

 

发表 评论

Din e-postadress kommer inte att publiceras. 必填 项 已 用 * 标注

scrolla till toppen