Kako baza podatkov MySQL poizveduje po podatkih v tabeli?Stavek poizvedbe/ukaz/Sintaksa

Baza podatkov MySQLKako poizvedovati po podatkih v tabeli?Stavek poizvedbe/ukaz/Sintaksa

MySQL Poizvedba podatkov

Baze podatkov MySQL uporabljajo stavke SQL SELECT za poizvedovanje podatkov.

Po podatkih v bazi podatkov lahko poizvedujete prek okna ukaznega poziva mysql> ali prek skripta PHP.

slovnica

Sledi splošna sintaksa SELECT za poizvedovanje podatkov v zbirki podatkov MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • V stavku poizvedbe lahko uporabite eno ali več tabel, tabele ločite z vejicami (,) in s stavkom WHERE nastavite pogoje poizvedbe.
  • Ukaz SELECT lahko prebere enega ali več zapisov.
  • Za zamenjavo drugih polj lahko uporabite zvezdico (*), stavek SELECT bo vrnil vse podatke polja tabele
  • Za vključitev katerega koli pogoja lahko uporabite stavek WHERE.
  • Določite lahko odmik podatkov, pri katerem stavek SELECT začne poizvedbo z OFFSET.Privzeto je odmik 0.
  • Za nastavitev števila vrnjenih zapisov lahko uporabite lastnost LIMIT.

Pridobite podatke prek ukaznega poziva

V naslednjem primeru bomo uporabili ukaz SQL SELECT za pridobitev podatkov podatkovne tabele MySQL chenweiliang_tbl:

primer

Naslednji primer bo vrnil vse zapise podatkovne tabele chenweiliang_tbl:

Preberite podatkovni list:

select * from chenweiliang_tbl;

Za pridobivanje podatkov uporabite skript PHP

z uporabo PHP funkcij mysqli_query() In SQL SELECT ukaz za pridobitev podatkov.

Ta funkcija se uporablja za izvajanje ukazov SQL in nato posredovanje funkcij PHP mysqli_fetch_array() za uporabo ali izhod podatkov za vse poizvedbe.

mysqli_fetch_array() Funkcija pridobi vrstico iz nabora rezultatov kot asociativno matriko ali matriko števil ali oboje. Vrne matriko, ustvarjeno iz vrstic, pridobljenih iz nabora rezultatov, ali vrednost false, če vrstic ni več.

Naslednji primer prebere vse zapise iz podatkovne tabele chenweiliang_tbl.

primer

Poskusite z naslednjim primerom prikazati vse zapise podatkovne tabele chenweiliang_tbl.

Za pridobivanje podatkov uporabite parameter mysqli_fetch_array MYSQL_ASSOC:

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

 

V zgornjem primeru je vsaka vrstica prebranih zapisov dodeljena spremenljivki $row, nato pa je vsaka vrednost natisnjena.

Opomba:Ne pozabite, da če morate uporabiti spremenljivko v nizu, spremenljivko vstavite v zavite oklepaje.

V zgornjem primeru je drugi parameter funkcije PHP mysqli_fetch_array(). MYSQL_ASSOC, nastavite ta parameter za poizvedbo po rezultatu za vrnitev asociativne matrike, ime polja lahko uporabite kot indeks matrike.

PHP ponuja še eno funkcijo mysqli_fetch_assoc(), funkcija vzame vrstico iz niza rezultatov kot asociativno polje.Vrne asociativno matriko, ustvarjeno iz vrstic, vzetih iz niza rezultatov, ali false, če ni več vrstic.

primer

Poskusite naslednji primer, ki uporablja mysqli_fetch_assoc() funkcija za izhod vseh zapisov podatkovne tabele chenweiliang_tbl:

Uporabite mysqli_fetch_assoc za pridobivanje podatkov:

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

Konstanto MYSQL_NUM lahko uporabite tudi kot drugi parameter funkcije PHP mysqli_fetch_array(), ki vrne niz številk.

primer

Naslednji primeri uporabe MYSQL_NUM Parameter prikaže vse zapise podatkovne tabele chenweiliang_tbl:

Za pridobivanje podatkov uporabite parameter mysqli_fetch_array MYSQL_NUM:

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

Izhodni rezultati zgornjih treh primerov so enaki.


sprostitev pomnilnika

Ko smo izvedli stavek SELECT, je dobro sprostiti pomnilnik kazalca.

Pomnilnik lahko sprostite s funkcijo PHP mysqli_free_result().

Naslednji primer prikazuje uporabo te funkcije.

primer

Poskusite naslednje primere:

Sprostite pomnilnik z 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);
?>
 

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) je delil "Kako baza podatkov MySQL poizveduje po podatkih v tabeli?Stavek poizvedbe/ukaz/skladnja", ki vam bo v pomoč.

Dobrodošli, da delite povezavo tega članka:https://www.chenweiliang.com/cwl-461.html

Dobrodošli na kanalu Telegram spletnega dnevnika Chena Weilianga, kjer boste prejeli najnovejše posodobitve!

🔔 Bodite prvi, ki boste prejeli dragocen »Vodnik za uporabo orodja AI za vsebinski marketing ChatGPT« v zgornjem imeniku kanala! 🌟
📚 Ta vodnik ima ogromno vrednosti, 🌟To je redka priložnost, ne zamudite je! ⏰⌛💨
Delite in všečkajte, če vam je všeč!
Vaše deljenje in všečki so naša stalna motivacija!

 

发表 评论

Vaš e-poštni naslov ne bo objavljen. 必填 项 已 用 * Oznaka

滚动 到 顶部