Kaip „MySQL“ duomenų bazė pateikia duomenų užklausą lentelėje?Užklausos pareiškimas / komanda / sintaksė

MySQL duomenų bazėKaip pateikti lentelės duomenų užklausą?Užklausos teiginys / komanda / sintaksė

MySQL Duomenų užklausa

„MySQL“ duomenų bazės naudoja SQL SELECT teiginius duomenų užklausai.

Duomenų bazėje galite pateikti užklausą per mysql> komandų eilutės langą arba per PHP scenarijų.

gramatika

Toliau pateikiama bendra SELECT sintaksė, skirta duomenų užklausai MySQL duomenų bazėje:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Užklausos sakinyje galite naudoti vieną ar daugiau lentelių, atskirti lenteles kableliais (,) ir naudoti WHERE teiginį užklausos sąlygoms nustatyti.
  • Komanda SELECT gali nuskaityti vieną ar daugiau įrašų.
  • Galite naudoti žvaigždutę (*), kad pakeistumėte kitus laukus, SELECT sakinys pateiks visus lentelės lauko duomenis
  • Galite naudoti WHERE teiginį, kad įtrauktumėte bet kokią sąlygą.
  • Galite nurodyti duomenų poslinkį, kuriuo SELECT sakinys pradeda užklausą su OFFSET.Pagal numatytuosius nustatymus poslinkis yra 0.
  • Norėdami nustatyti grąžinamų įrašų skaičių, galite naudoti ypatybę LIMIT.

Gaukite duomenis naudodami komandų eilutę

Šiame pavyzdyje naudosime komandą SQL SELECT, kad gautume MySQL duomenų lentelės chenweiliang_tbl duomenis:

pavyzdys

Šis pavyzdys pateiks visus duomenų lentelės chenweiliang_tbl įrašus:

Skaitykite duomenų lapą:

select * from chenweiliang_tbl;

Duomenims gauti naudokite PHP scenarijų

naudojant PHP funkcijas mysqli_query() 及 SQL SELECT komandą duomenims gauti.

Ši funkcija naudojama vykdyti SQL komandas ir perduoti PHP funkcijas mysqli_fetch_array() naudoti arba išvesti duomenis visoms užklausoms.

mysqli_fetch_array() Funkcija paima eilutę iš rezultatų rinkinio kaip asociatyvų masyvą arba skaičių masyvą, arba abu. Pateikia masyvą, sugeneruotą iš eilučių, gautų iš rezultatų rinkinio, arba false, jei nebėra eilučių.

Šis pavyzdys nuskaito visus įrašus iš duomenų lentelės chenweiliang_tbl.

pavyzdys

Išbandykite šį pavyzdį, kad būtų rodomi visi duomenų lentelės chenweiliang_tbl įrašai.

Norėdami gauti duomenis, naudokite parametrą 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);
?>

 

Aukščiau pateiktame pavyzdyje kiekviena perskaitytų įrašų eilutė priskiriama kintamajam $row, tada kiekviena reikšmė išspausdinama.

Pastaba:Atminkite, kad jei eilutėje reikia naudoti kintamąjį, įdėkite kintamąjį į riestinius skliaustus.

Aukščiau pateiktame pavyzdyje antrasis PHP mysqli_fetch_array() funkcijos parametras yra MYSQL_ASSOC, nustatykite šį parametrą, kad užklaustumėte rezultatą, kad būtų grąžintas asociatyvus masyvas, lauko pavadinimą galite naudoti kaip masyvo indeksą.

PHP suteikia dar vieną funkciją mysqli_fetch_assoc(), funkcija paima eilutę iš rezultatų rinkinio kaip asociatyvų masyvą.Grąžina asociatyvųjį masyvą, sugeneruotą iš eilučių, paimtų iš rezultatų rinkinio, arba klaidingą, jei nebėra eilučių.

pavyzdys

Išbandykite šį pavyzdį, kuriame naudojama mysqli_fetch_assoc() funkcija išvesti visus duomenų lentelės chenweiliang_tbl įrašus:

Duomenims gauti naudokite mysqli_fetch_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_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);
?>

Taip pat galite naudoti konstantą MYSQL_NUM kaip antrąjį PHP mysqli_fetch_array() funkcijos parametrą, kuris grąžina skaičių masyvą.

pavyzdys

Toliau pateikiami pavyzdžiai MYSQL_NUM Parametras rodo visus duomenų lentelės chenweiliang_tbl įrašus:

Norėdami gauti duomenis, naudokite parametrą 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);
?>

Pirmiau minėtų trijų pavyzdžių išvesties rezultatai yra tokie patys.


atminties išlaisvinimas

Tai gera praktika atlaisvinti žymeklio atmintį, kai įvykdome SELECT sakinį.

Atmintį galima atlaisvinti naudojant PHP funkciją mysqli_free_result().

Toliau pateiktame pavyzdyje parodytas šios funkcijos naudojimas.

pavyzdys

Išbandykite šiuos pavyzdžius:

Laisva atmintis su 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);
?>
 

发表 评论

Jūsų el. pašto adresas nebus skelbiamas. Naudojami privalomi laukai * Etiketė

Pereikite į viršų