MySQL database ukujoyina kwangaphakathi ukusetshenziswa kwamathebula amaningi? kwesokunxele kwesokunxele ukujoyina ukusebenzisa kahle

MySQL databaseukujoyina kwangaphakathi ukusetshenziswa kwamathebula amaningi? kwesokunxele kwesokunxele ukujoyina ukusebenza kahle

I-Mysql ukusetshenziswa kokuxhumana

Ezahlukweni ezedlule, sifunde indlela yokufunda idatha kusuka kuthebula elilodwa, elilula kakhulu, kodwa ezinhlelweni zangempela ngokuvamile kudingekile ukufunda idatha evela kumathebula amaningi wedatha.

Kulesi sahluko sizokukhombisa ukuthi ungasebenzisa kanjani i-MySQL's JOIN ukuze ubuze idatha kumathebula amabili noma ngaphezulu.

Ungasebenzisa i-Mysql's JOIN kokuthi KHETHA, UBUYEKE futhi USUSA izitatimende ukuze ujoyine imibuzo yamathebula amaningi.

I-JOIN icishe ihlukaniswe yaba izigaba ezintathu ezilandelayo ngokomsebenzi wayo:

  • INNER JOIN (ukujoyina kwangaphakathi, noma i-equijoin): Thola amarekhodi anezinkambu ezifanayo kumathebula amabili.
  • LEFT JOIN (joyina kwesokunxele):Thola wonke amarekhodi kuthebula elingakwesokunxele, noma ngabe awekho amarekhodi afanayo kuthebula elingakwesokudla.
  • JOYINA kwesokudla (joyina kwesokudla): Ngokuphambene nokuthi LEFT JOIN, isetshenziselwa ukuthola wonke amarekhodi kuthebula elingakwesokudla, noma ngabe awekho amarekhodi ahambisanayo kuthebula elingakwesokunxele.

Ukusebenzisa INNER JOIN ku-Command Prompt

Sinamathebula amabili tcount_tbl kanye ne-chenweiliang_tbl kusizindalwazi se-chenweiliang.Idatha yamathebula edatha amabili imi kanje:

Isibonelo

Zama izibonelo ezilandelayo:

idatha yesibonelo sokuhlola

mysql> use chenweiliang;
Database changed
mysql> SELECT * FROM tcount_tbl;
+---------------+--------------+
| chenweiliang_author | chenweiliang_count |
+---------------+--------------+
| 陈沩亮博客 | 10 |
| chenweiliang.com | 20 |
| Google | 22 |
+---------------+--------------+
3 rows in set (0.01 sec)
 
mysql> SELECT * from chenweiliang_tbl;
+-----------+---------------+---------------+-----------------+
| chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 1 | 学习 PHP | 陈沩亮博客 | 2017-04-12 |
| 2 | 学习 MySQL | 陈沩亮博客 | 2017-04-12 |
| 3 | 学习 Java | chenweiliang.com | 2015-05-01 |
| 4 | 学习 Python | chenweiliang.com | 2016-03-06 |
| 5 | 学习 C | FK | 2017-04-05 |
+-----------+---------------+---------------+-----------------+
5 rows in set (0.01 sec)

Okulandelayo sizosebenzisa i-MySQLINNER JOIN (ungaphinda uyeke INNER futhi usebenzise JOIN, umphumela uyafana)Ukuze uxhume amathebula amabili angenhla ukuze ufunde inani lenkambu ye-chenweiliang_count ehambelana nazo zonke izinkambu ze-chenweiliang_author kuthebula le-chenweiliang_tbl kuthebula le-tcount_tbl:

INNER JOIN

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a INNER JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
+-------------+-----------------+----------------+
4 rows in set (0.00 sec)

Isitatimende esingenhla se-SQL siyalingana nokuthi:

LAPHO isigatshana

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a, tcount_tbl b WHERE a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
+-------------+-----------------+----------------+
4 rows in set (0.01 sec)

I-MySQL LEFT JOIN

Ukujoyina kwesokunxele kwe-MySQL kuhlukile ekujoyineni. I-MySQL LEFT JOIN izofunda yonke idatha kuthebula ledatha elingakwesokunxele, ngisho noma ithebula elingakwesokudla lingenayo idatha ehambisanayo.

Isibonelo

Zama izibonelo ezilandelayo ukuze chenweiliang_tbl okwetafula elingakwesokunxele,i-tcount_tbl Kuthebula elingakwesokudla, qonda ukusetshenziswa kwe-MySQL LEFT JOIN:

JOYINA KWESOKUNXELE

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a LEFT JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
| 5 | FK | NULL |
+-------------+-----------------+----------------+
5 rows in set (0.01 sec)

Esibonelweni esingenhla, kusetshenziswa UKUJOYINA KWE-LEFT. Lesi sitatimende sizofunda yonke idatha yenkambu ekhethiwe yethebula ledatha elithi chenweiliang_tbl kwesokunxele, ngisho noma lingekho inani lenkambu elihambisanayo lika-chenweiliang_author kuthebula elithi tcount_tbl kwesokudla.


I-MySQL RIGHT JOIN

I-MySQL RIGHT JOIN izofunda yonke idatha kuthebula ledatha elingakwesokudla, ngisho noma ingekho idatha ehambisanayo kuthebula elingakwesokunxele.

Isibonelo

Zama izibonelo ezilandelayo ukuze chenweiliang_tbl okwetafula elingakwesokunxele,i-tcount_tbl Kuthebula elingakwesokudla, qonda ukusetshenziswa kwe-MySQL RIGHT JOIN:

KULUNGILE JOIN

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a RIGHT JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
| NULL | NULL | 22 |
+-------------+-----------------+----------------+
5 rows in set (0.01 sec)

UKUJOYINA OKUFANELE kusetshenziswa isibonelo esingenhla, lesi sitatimende sizofunda yonke idatha yenkambu ekhethiwe yethebula ledatha elithi tcount_tbl kwesokudla, ngisho noma lingekho inani lenkambu elihambisanayo lika-chenweiliang_author kuthebula elithi chenweiliang_tbl kwesokunxele.


Ukusebenzisa i-JOIN kusikripthi se-PHP

Umsebenzi we-mysqli_query() usetshenziswa ku-PHP ukwenza izitatimende ze-SQL, ungasebenzisa isitatimende se-SQL esingenhla njengepharamitha yomsebenzi we-mysqli_query().

Zama isibonelo esilandelayo:

I-MySQL ORDER NGOKUHLOLA:

<?
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 a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a INNER JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 MySQL JOIN 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>作者</td><td>登陆次数</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['chenweiliang_count']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

I-Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) kwabiwe "Ukusetshenziswa kwamathebula amaningi kwe-MySQL database ukujoyina kwangaphakathi? left Left Joyina Ukusebenzisa Efficiency", kuyokusiza.

Siyakwamukela ukwabelana ngesixhumanisi salesi sihloko:https://www.chenweiliang.com/cwl-488.html

Uyemukelwa esiteshini seTelegram sebhulogi ka-Chen Weiliang ukuze uthole izibuyekezo zakamuva!

🔔 Iba ngowokuqala ukuthola "I-ChatGPT Content Marketing AI Tool Usage Guide" ohlwini lwemibhalo ephezulu yesiteshi! 🌟
📚 Lo mhlahlandlela uqukethe inani elikhulu, 🌟Leli ithuba eliyivelakancane, ungaphuthelwa! ⏰⌛💨
Yabelana futhi uthanda uma uthanda!
Ukwabelana kwakho nokuthanda kwakho kuyisisusa sethu esiqhubekayo!

 

发表 评论

Ikheli lakho le-imeyili ngeke lishicilelwe. 必填 项 已 用 * Ilebula

pheqela phezulu