Hoe freget in MySQL-database gegevens yn in tabel?Query Statement / Kommando / Syntaksis

Hoe kinne jo gegevens opfreegje út in tabel yn in MySQL-database ? Fraachopdracht/kommando/syntaksis

MySQL Query gegevens

MySQL-databases brûke SQL SELECT-útspraken om gegevens te freegjen.

Jo kinne gegevens opfreegje yn 'e databank fia it mysql> kommando-prompt-finster, of fia in PHP-skript.

grammatika

It folgjende is de algemiene SELECT-syntaksis foar it freegjen fan gegevens yn in MySQL-database:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Yn de query statement kinne jo ien of mear tabellen brûke, de tabellen skiede mei komma's (,), en brûk de WHERE statement om query betingsten yn te stellen.
  • It kommando SELECT kin ien of mear records lêze.
  • Jo kinne in asterisk (*) brûke om oare fjilden te ferfangen, de SELECT-útspraak sil alle fjildgegevens fan 'e tabel weromjaan
  • Jo kinne de WHERE-statement brûke om elke betingst op te nimmen.
  • Jo kinne de gegevensoffset opjaan wêrby't de SELECT-útspraak de query begjint mei OFFSET.Standert is de offset 0.
  • Jo kinne de eigenskip LIMIT brûke om it oantal weromjûne records yn te stellen.

Krij gegevens fia kommando-prompt

Yn it folgjende foarbyld sille wy it kommando SQL SELECT brûke om de gegevens fan 'e MySQL-gegevenstabel chenweiliang_tbl te krijen:

Instance

It folgjende foarbyld sil alle records fan 'e gegevenstabel chenweiliang_tbl werombringe:

Lês it datablêd:

select * from chenweiliang_tbl;

Brûk PHP-skript om gegevens te krijen

Brûk de PHP-funksje mysqli_query() en it SQL SELECT -kommando om gegevens op te heljen.

Dizze funksje wurdt brûkt om SQL-kommando's út te fieren, en dan wurdt de PHP-funksje mysqli_fetch_array() brûkt om tagong te krijen ta of alle opfrege gegevens út te fieren.

De funksje mysqli_fetch_array() hellet in rige op út 'e resultatenset as in assosjative array, in numerike array, of beide, en jout in array werom dy't generearre is út 'e rige dy't ophelle is út 'e resultatenset. As der gjin rigen mear binne, jout it falsk werom.

It folgjende foarbyld lêst alle records út de gegevens tabel chenweiliang_tbl.

Instance

Besykje it folgjende foarbyld om alle records fan 'e gegevenstabel chenweiliang_tbl te werjaan.

Brûk de mysqli_fetch_array MYSQL_ASSOC parameter om gegevens op te heljen:

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

 

Yn it boppesteande foarbyld wurdt elke rige fan lêzen lêzen tawiisd oan 'e fariabele $ row, en dan wurdt elke wearde útprinte.

Opmerking: Tink derom om de fariabele tusken krulhekels te setten as jo it yn in tekenrige brûke moatte.

Yn it boppesteande foarbyld is de twadde parameter fan 'e PHP mysqli_fetch_array()-funksje MYSQL_ASSOC . It ynstellen fan dizze parameter jout in assosjative array werom, en jo kinne de fjildnamme brûke as de yndeks fan 'e array.

PHP leveret in oare funksje, `mysqli_fetch_assoc()` , dy't ien rige út 'e resultatenset ophellet as in assosjative array. It jout in assosjative array werom basearre op 'e rigen dy't út 'e resultatenset ophelle binne; as der gjin rigen mear beskikber binne, jout it falsk werom.

Instance

Besykje it folgjende foarbyld, dat de funksje mysqli_fetch_assoc() brûkt om alle records fan 'e tabel chenweiliang_tbl út te fieren:

Brûk mysqli_fetch_assoc om gegevens op te heljen:

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

Jo kinne ek de konstante MYSQL_NUM brûke as de twadde parameter fan 'e PHP-funksje mysqli_fetch_array (), dy't in array fan nûmers werombringt.

Instance

It folgjende foarbyld brûkt de parameter MYSQL_NUM om alle records yn 'e tabel chenweiliang_tbl wer te jaan:

Brûk de mysqli_fetch_array MYSQL_NUM parameter om gegevens op te heljen:

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

De útfierresultaten fan 'e boppesteande trije foarbylden binne itselde.


ûnthâld release

It is in goede praktyk om rinnerkeûnthâld frij te meitsjen neidat wy in SELECT-statement hawwe útfierd.

It ûnthâld kin frijlitten wurde fia de PHP-funksje mysqli_free_result ().

It folgjende foarbyld toant it gebrûk fan dizze funksje.

Instance

Besykje de folgjende foarbylden:

Fergees ûnthâld mei 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);
?>
 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Scroll nei boppen