Kiel MySQL-datumbazo demandas datumojn en tabelo?Demanda Deklaro/Komando/Sintakso

MySQL-datumbazoKiel pridemandi la datumojn en la tabelo?Demanda Deklaro/Komando/Sintakso

MySQL Pridemandu datumojn

MySQL-datumbazoj uzas SQL SELECT deklarojn por pridemandi datumojn.

Vi povas demandi datumojn en la datumbazo per la fenestro de komando mysql> aŭ per PHP-skripto.

gramatiko

La sekvanta estas la ĝenerala SELECT-sintakso por pridemandi datumojn en MySQL-datumbazo:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • En la demanda deklaro, vi povas uzi unu aŭ plurajn tabelojn, apartigi la tabelojn per komoj (,), kaj uzi la WHERE deklaron por agordi demandajn kondiĉojn.
  • La komando SELECT povas legi unu aŭ pli da registroj.
  • Vi povas uzi asteriskon (*) por anstataŭigi aliajn kampojn, la SELECT deklaro resendos ĉiujn kampodatumojn de la tabelo
  • Vi povas uzi la deklaron WHERE por inkluzivi ajnan kondiĉon.
  • Vi povas specifi la datuman ofseton ĉe kiu la deklaro SELECT komencas la demandon per OFFSET.Defaŭlte la ofseto estas 0.
  • Vi povas uzi la posedaĵon LIMIT por agordi la nombron da rekordoj redonitaj.

Akiru datumojn per komanda prompto

En la sekva ekzemplo, ni uzos la komandon SQL SELECT por akiri la datumojn de la MySQL-datumtabelo chenweiliang_tbl:

ekzemplo

La sekva ekzemplo resendos ĉiujn rekordojn de la datumtabelo chenweiliang_tbl:

Legu la datumfolion:

select * from chenweiliang_tbl;

Uzu PHP-skripton por akiri datumojn

uzante PHP-funkciojn mysqli_query() kaj SQL ELEKTU komando por akiri la datumojn.

Ĉi tiu funkcio estas uzata por ekzekuti SQL-komandojn kaj poste pasigi PHP-funkciojn mysqli_fetch_array () uzi aŭ eligi datumojn por ĉiuj demandoj.

mysqli_fetch_array () La funkcio alportas vicon de la rezulta aro kiel asocieca tabelo, aŭ tabelo de nombroj, aŭ ambaŭ.Redonas tabelon generitan de la vicoj prenitaj de la rezultaro, aŭ malvera se ne ekzistas pliaj vicoj.

La sekva ekzemplo legas ĉiujn rekordojn de la datumtabelo chenweiliang_tbl.

ekzemplo

Provu la sekvan ekzemplon por montri ĉiujn registrojn de la datumtabelo chenweiliang_tbl.

Uzu la parametron mysqli_fetch_array MYSQL_ASSOC por preni datumojn:

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

 

En la supra ekzemplo, ĉiu vico de rekordoj legitaj estas asignita al la variablo $row, kaj tiam ĉiu valoro estas presita.

Notu:Memoru, ke se vi bezonas uzi variablon en ŝnuro, metu la variablon en buklajn krampojn.

En la supra ekzemplo, la dua parametro de la PHP mysqli_fetch_array() funkcio estas MYSQL_ASSOC, agordu ĉi tiun parametron por demandi la rezulton por redoni asocian tabelon, vi povas uzi la kampan nomon kiel la indekso de la tabelo.

PHP provizas alian funkcion mysqli_fetch_assoc (), la funkcio prenas vicon de la rezultaro kiel asocieca tabelo.Liveras asociecan tabelon generitan de la vicoj prenitaj el la rezulta aro, aŭ malvera se ne ekzistas pliaj vicoj.

ekzemplo

Provu la sekvan ekzemplon, kiu uzas mysqli_fetch_assoc () funkcio por eligi ĉiujn rekordojn de la datumtabelo chenweiliang_tbl:

Uzu mysqli_fetch_assoc por preni datumojn:

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

Vi ankaŭ povas uzi la konstantan MYSQL_NUM kiel la duan parametron de la PHP mysqli_fetch_array() funkcio, kiu resendas tabelon de nombroj.

ekzemplo

La sekvaj ekzemploj uzas MYSQL_NUM La parametro montras ĉiujn rekordojn de la datumtabelo chenweiliang_tbl:

Uzu la parametron mysqli_fetch_array MYSQL_NUM por preni datumojn:

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

La produktaĵrezultoj de ĉi-supraj tri ekzemploj estas la samaj.


memorliberigo

Estas bona praktiko liberigi kursoran memoron post kiam ni ekzekutis SELECT deklaron.

La memoro povas esti liberigita per la PHP-funkcio mysqli_free_result().

La sekva ekzemplo montras la uzon de ĉi tiu funkcio.

ekzemplo

Provu la sekvajn ekzemplojn:

Senpaga memoro kun 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 Blogo ( https://www.chenweiliang.com/ ) konigis "Kiel la datumbazo MySQL demandas la datumojn en la tabelo?Demandu Deklaron/Komandon/Sintakso" por helpi vin.

Bonvenon dividi la ligon de ĉi tiu artikolo:https://www.chenweiliang.com/cwl-461.html

Bonvenon al la Telegram-kanalo de la blogo de Chen Weiliang por ricevi la plej novajn ĝisdatigojn!

🔔 Estu la unua ricevi la valoran "ChatGPT Content Marketing AI Tool Use Guide" en la ĉefa dosierujo de la kanalo! 🌟
📚 Ĉi tiu gvidilo enhavas grandegan valoron, 🌟Ĉi tio estas malofta ŝanco, ne maltrafu ĝin! ⏰⌛💨
Kunhavigu kaj ŝatu se vi ŝatas!
Via kundivido kaj ŝatoj estas nia kontinua instigo!

 

Lasu komenton

Via retpoŝta adreso ne estos publikigita. Bezonataj kampoj estas uzataj * Etikedo

rulumu al la supro