مقالې لارښود
مای د خوښې پوښتنه څنګه؟د mysql ډیټابیسچینایي لکه بیان کارول
د مای ایس کیو ایل LIKE بند
موږ پوهیږو چې په MySQL کې د معلوماتو لوستلو لپاره د SQL SELECT کمانډ وکاروو، او موږ کولی شو د ټاکل شوي ریکارډونو ترلاسه کولو لپاره د SELECT بیان کې WHERE بند وکاروو.
مساوي نښه په WHERE بند کې کارول کیدی شي = د معلوماتو ترلاسه کولو لپاره شرایط تنظیم کړئ، لکه "chenweiliang_author = 'chenweiliang.com'".
مګر ځینې وختونه موږ اړتیا لرو ټول هغه ریکارډونه ترلاسه کړو چې د chenweiliang_author ساحه د "COM" حروف لري، نو بیا موږ اړتیا لرو چې د WHERE بند کې د SQL LIKE بند وکاروو.
د SQL LIKE بندونو کې د فیصدو نښو کارول %کرکټر چې د هر کرکټر نمایندګي کوي، د یونیکس یا منظم بیانونو ستوري ته ورته وي *.
که د سلنې نښه نه کارول کیږي %, LIKE بند د مساوي نښان سره = اغیزه ورته ده.
ګرامر
لاندې د SQL SELECT بیان عمومي ترکیب دی چې د LIKE بند په کارولو سره د ډیټا جدول څخه ډاټا لوستلو لپاره:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- تاسو کولی شئ د WHERE په بند کې هر ډول شرایط مشخص کړئ.
- تاسو کولی شئ د WHERE بند کې د LIKE بند وکاروئ.
- تاسو کولی شئ د مساوي نښو په ځای کې د LIKE بند وکاروئ =.
- LIKE معمولا سره تړاو لري % یوځای کارول کیږي، د میټاکریکر لټون ته ورته.
- تاسو کولی شئ د AND یا OR په کارولو سره یو یا څو شرایط مشخص کړئ.
- تاسو کولی شئ د شرایطو مشخص کولو لپاره د DELETE یا UPDATE کمانډونو کې د WHERE...LIKE بند وکاروئ.
د کمانډ پرامپټ کې د LIKE بند کارول
لاندې به موږ د مای ایس کیو ایل ډیټا جدول chenweiliang_tbl څخه ډاټا لوستلو لپاره د SQL SELECT کمانډ کې WHERE...LIKE بند وکاروو.
مثال
لاندې دی چې موږ به څنګه د chenweiliang_author ساحه د chenweiliang_tbl جدول کې ترلاسه کړو COM د ټولو ریکارډونو لپاره چې پدې سره پای ته رسیږي:
د SQL تازه بیان بیان:
mysql> use chenweiliang; Database changed mysql> SELECT * from chenweiliang_tbl WHERE chenweiliang_author LIKE '%COM'; +-----------+---------------+---------------+-----------------+ | chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | 学习 Java | chenweiliang.com | 2015-05-01 | | 4 | 学习 Python | chenweiliang.com | 2016-03-06 | +-----------+---------------+---------------+-----------------+ 2 rows in set (0.01 sec)
په پی ایچ پی سکریپټ کې د لایک بند کارول
تاسو کولی شئ د معلوماتو ترلاسه کولو لپاره د PHP فنکشن mysqli_query() او ورته SQL SELECT کمانډ د WHERE...LIKE بند سره وکاروئ.
دا فنکشن د SQL کمانډونو اجرا کولو لپاره کارول کیږي او بیا د PHP فنکشن mysqli_fetch_assoc() له لارې د ټولو پوښتنو لپاره ډیټا تولیدوي.
مګر که دا د SQL بیان وي چې د WHERE...LIKE بند په DELETE یا UPDATE کې کاروي، د mysqli_fetch_array() فنکشن کارولو ته اړتیا نشته.
مثال
دلته د chenweiliang_tbl جدول کې د chenweiliang_author په ساحه کې د COM پای ته رسیدو ټولو ریکارډونو لوستلو لپاره د PHP سکریپټ کارولو څرنګوالی دی:
د MySQL ړنګولو بند ازموینه:
<?
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
WHERE chenweiliang_author LIKE "%COM"';
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);
?>امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) شریک کړ "څنګه د مای ایس کیو ایل په څیر پوښتنه وکړو؟ د مای ایس کیو ایل ډیټابیس کې د لایک بیان کارول"، کوم چې ستاسو لپاره ګټور دی.
د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-474.html
