MySQL маалымат базасы таблицадагы маалыматтарды кантип сурайт?Сурам билдирүүсү/Буйрук/Синтаксис

MySQL маалымат базасыТаблицадагы маалыматтарды кантип суроо керек?Сурам билдирүүсү/Буйрук/Синтаксис

MySQL Берилиштерди суроо

MySQL маалымат базалары маалыматтарды суроо үчүн SQL SELECT билдирүүлөрүн колдонушат.

Маалыматтар базасындагы маалыматтарды mysql> буйрук терезеси же PHP скрипти аркылуу сурасаңыз болот.

грамматика

Төмөндө MySQL маалымат базасында маалыматтарды суроо үчүн жалпы SELECT синтаксиси келтирилген:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Сурам билдирүүсүндө бир же бир нече таблицаларды колдонсоңуз болот, таблицаларды үтүр (,) менен бөлүп, суроо шарттарын коюу үчүн WHERE операторун колдонсоңуз болот.
  • SELECT буйругу бир же бир нече жазууларды окуй алат.
  • Башка талааларды алмаштыруу үчүн жылдызчаны (*) колдонсоңуз болот, SELECT билдирүүсү таблицанын бардык талаа маалыматтарын кайтарат
  • Сиз каалаган шартты кошуу үчүн WHERE операторун колдоно аласыз.
  • Сиз SELECT оператору суроону OFFSET менен баштаган берилиштердин жылышуусун көрсөтө аласыз.Демейки боюнча жылышуу 0 болуп саналат.
  • Сиз LIMIT касиетин колдонуп, кайтарылган жазуулардын санын белгилей аласыз.

буйрук сабы аркылуу маалыматтарды алуу

Төмөнкү мисалда, биз MySQL маалымат таблицасынын chenweiliang_tbl маалыматтарын алуу үчүн SQL SELECT буйругун колдонобуз:

Instance

Төмөнкү мисал chenweiliang_tbl маалымат таблицасынын бардык жазууларын кайтарат:

Маалымат жадыбалын окуңуз:

select * from chenweiliang_tbl;

Маалымат алуу үчүн PHP скриптин колдонуңуз

PHP функцияларын колдонуу mysqli_query() жана SQL SELECT маалыматтарды алуу үчүн буйрук.

Бул функция SQL буйруктарын аткаруу жана андан кийин PHP функцияларын өткөрүү үчүн колдонулат mysqli_fetch_array() бардык сурамдар үчүн маалыматтарды колдонууга же чыгарууга.

mysqli_fetch_array() Функция натыйжалар топтомунан сапты ассоциативдик массив же сандардын массиви же экөө тең алып алат. Натыйжалар топтомунан алынган саптардан түзүлгөн массивди кайтарат, же башка саптар жок болсо, жалганды кайтарат.

Төмөнкү мисал chenweiliang_tbl маалымат таблицасындагы бардык жазууларды окуйт.

Instance

chenweiliang_tbl маалымат таблицасынын бардык жазууларын көрсөтүү үчүн төмөнкү мисалды колдонуп көрүңүз.

Маалыматтарды алуу үчүн 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);
?>

 

Жогорудагы мисалда, окулган жазуулардын ар бир сабы өзгөрмө $ сапка дайындалат, андан кийин ар бир маани басып чыгарылат.

Эскертүү:Эгерде сиз сапта өзгөрмө колдонушуңуз керек болсо, өзгөрмөнү тармал кашаага коюңуз.

Жогорудагы мисалда PHP mysqli_fetch_array() функциясынын экинчи параметри MYSQL_ASSOC, ассоциативдик массивди кайтаруу үчүн натыйжаны суроо үчүн бул параметрди коюңуз, массивдин индекси катары талаа атын колдоно аласыз.

PHP дагы бир функцияны камсыз кылат mysqli_fetch_assoc(), функция ассоциативдик массив катары натыйжалар топтомунан сапты алат.Натыйжалар топтомунан алынган саптардан түзүлгөн ассоциативдик массивди кайтарат же башка саптар жок болсо, жалган.

Instance

Төмөнкү мисалды колдонуп көрүңүз mysqli_fetch_assoc() chenweiliang_tbl маалымат таблицасынын бардык жазууларын чыгаруу функциясы:

Дайындарды алуу үчүн 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);
?>

Сиз ошондой эле MYSQL_NUM туруктуусун PHP mysqli_fetch_array() функциясынын экинчи параметри катары колдонсоңуз болот, ал сандар массивин кайтарат.

Instance

Төмөнкү мисалдар колдонулат MYSQL_NUM Параметр chenweiliang_tbl маалымат таблицасынын бардык жазууларын көрсөтөт:

Дайындарды алуу үчүн 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);
?>

Жогорудагы үч мисалдын натыйжалары бирдей.


эс чыгаруу

SELECT билдирүүсүн аткаргандан кийин курсордун эс тутумун бошотуу жакшы практика.

Эстутумду PHP функциясы mysqli_free_result() аркылуу чыгарууга болот.

Төмөнкү мисал бул функциянын колдонулушун көрсөтөт.

Instance

Төмөнкү мисалдарды колдонуп көрүңүз:

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 блогу ( https://www.chenweiliang.com/ ) бөлүштү "MySQL маалымат базасы таблицадагы маалыматтарды кантип сурайт?Сурам билдирүүсү/Буйрук/Синтаксис" сизге жардам берүү үчүн.

Бул макаланын шилтемесин бөлүшүүгө кош келиңиз:https://www.chenweiliang.com/cwl-461.html

Акыркы жаңылыктарды алуу үчүн Чен Вейляндын блогунун Telegram каналына кош келиңиз!

🔔 Каналдын башкы каталогунан баалуу "ChatGPT Content Marketing AI куралын колдонуу боюнча колдонмону" биринчилерден болуп алыңыз! 🌟
📚 Бул колдонмо чоң баалуулуктарды камтыйт, 🌟Бул сейрек кездешүүчү мүмкүнчүлүк, аны өткөрүп жибербеңиз! ⏰⌛💨
Бөлүшүп, жакса лайк!
Сиздин бөлүшүүңүз жана лайктарыңыз биздин үзгүлтүксүз мотивациябыз!

 

发表 评论

Электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалар колдонулат * 标注

өйдө сыдырыңыз