Nola kontsultatzen ditu MySQL datu-baseak taula batean datuak?Kontsulta adierazpena/agindua/sintaxia

MySQL datu-baseaNola kontsultatu taulako datuak?Kontsulta adierazpena/agindua/sintaxia

MySQL Kontsulta datuak

MySQL datu-baseek SQL SELECT instrukzioak erabiltzen dituzte datuak kontsultatzeko.

Datu-basean kontsulta ditzakezu mysql> komando-gonbita leihoaren bidez edo PHP script baten bidez.

Gramatika

Honako hau da SELECT sintaxi orokorra MySQL datu-base batean datuak kontsultatzeko:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Kontsulta adierazpenean taula bat edo gehiago erabil ditzakezu, taulak komaz (,) bereiz ditzakezu eta WHERE instrukzioa erabil dezakezu kontsulta baldintzak ezartzeko.
  • SELECT komandoak erregistro bat edo gehiago irakur ditzake.
  • Izartxo bat (*) erabil dezakezu beste eremu batzuk ordezkatzeko, SELECT instrukzioak taulako eremuko datu guztiak itzuliko ditu
  • WHERE adierazpena erabil dezakezu edozein baldintza sartzeko.
  • SELECT instrukzioak kontsulta hasten duen datu-desplazamendua zehaztu dezakezu OFFSET-ekin.Lehenespenez, desplazamendua 0 da.
  • LIMIT propietatea erabil dezakezu itzulitako erregistro kopurua ezartzeko.

Lortu datuak komando-gonbita bidez

Hurrengo adibidean, SQL SELECT komandoa erabiliko dugu chenweiliang_tbl MySQL datu-taularen datuak lortzeko:

adibidea

Adibide honek datu-taularen erregistro guztiak itzuliko ditu chenweiliang_tbl:

Irakurri fitxa teknikoa:

select * from chenweiliang_tbl;

Erabili PHP scripta datuak lortzeko

PHP funtzioak erabiliz mysqli_query() eta SQL HAUTATU datuak lortzeko komandoa.

Funtzio hau SQL komandoak exekutatzeko eta gero PHP funtzioak pasatzeko erabiltzen da mysqli_fetch_array() kontsulta guztietarako datuak erabiltzeko edo ateratzeko.

mysqli_fetch_array() Funtzioak emaitza-multzoko errenkada bat hartzen du matrize elkartu gisa, edo zenbaki-maiz bat edo biak. Emaitza-multzotik hartutako errenkadetatik sortutako array bat itzultzen du, edo faltsua errenkada gehiago ez badago.

Hurrengo adibidean chenweiliang_tbl datu-taularen erregistro guztiak irakurtzen dira.

adibidea

Saiatu hurrengo adibidea chenweiliang_tbl datu-taularen erregistro guztiak bistaratzeko.

Erabili mysqli_fetch_array MYSQL_ASSOC parametroa datuak lortzeko:

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

 

Goiko adibidean, irakurritako erregistroen errenkada bakoitza $row aldagaiari esleitzen zaio eta, ondoren, balio bakoitza inprimatzen da.

Oharra:Gogoratu aldagai bat kate batean erabili behar baduzu, jarri aldagaia giltza kizkur artean.

Goiko adibidean, PHP mysqli_fetch_array() funtzioaren bigarren parametroa da MYSQL_ASSOC, ezarri parametro hau emaitza kontsultatzeko matrize elkartu bat itzultzeko, eremuaren izena erabil dezakezu matrizearen indize gisa.

PHP-k beste funtzio bat eskaintzen du mysqli_fetch_assoc(), funtzioak emaitza multzoko errenkada bat hartzen du matrize elkartu gisa.Emaitza-multzotik hartutako errenkadetatik sortutako matrize elkartua itzultzen du, edo faltsua errenkada gehiago ez badago.

adibidea

Saiatu hurrengo adibidea, erabiltzen duena mysqli_fetch_assoc() datu-taularen erregistro guztiak ateratzeko funtzioa chenweiliang_tbl:

Erabili mysqli_fetch_assoc datuak lortzeko:

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

MYSQL_NUM konstantea ere erabil dezakezu PHP mysqli_fetch_array() funtzioaren bigarren parametro gisa, zenbaki-matrize bat itzultzen duena.

adibidea

Hurrengo adibideek erabiltzen dute MYSQL_NUM Parametroak chenweiliang_tbl datu-taularen erregistro guztiak bistaratzen ditu:

Erabili mysqli_fetch_array MYSQL_NUM parametroa datuak lortzeko:

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

Goiko hiru adibideen irteerako emaitzak berdinak dira.


memoria askatzea

Praktika ona da kurtsorearen memoria askatzea SELECT instrukzioa exekutatu ondoren.

Memoria PHP mysqli_free_result() funtzioaren bidez askatu daiteke.

Hurrengo adibideak funtzio honen erabilera erakusten du.

adibidea

Saiatu adibide hauek:

Doako memoria mysqli_free_result-ekin:

<?
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 bloga ( https://www.chenweiliang.com/ ) shared "Nola kontsultatzen ditu MySQL datu-baseak taulako datuak?Kontsulta adierazpena/agindua/sintaxia" zuri laguntzeko.

Ongi etorri artikulu honen esteka partekatzera:https://www.chenweiliang.com/cwl-461.html

Ongi etorri Chen Weiliang-en blogeko Telegram kanalera azken eguneraketak jasotzeko!

🔔 Izan zaitez kanalaren goiko direktorioan "ChatGPT Content Marketing AI Tool Erabilera Gida" baliotsua lortzen lehena! 🌟
📚 Gida honek balio handia du, 🌟Aukera arraroa da hau, ez galdu! ⏰⌛💨
Partekatu eta gustatzen bazaizu!
Zure partekatzea eta gustukoak dira gure etengabeko motibazioa!

 

发表 评论

Zure helbide elektronikoa ez da argitaratuko. 必填 项 已 用 * 标注

joan goian