Ny angon-drakitra MySQL anatiny dia miditra amin'ny fampiasana latabatra maromaro? ankavia havia mitambatra fahombiazana fampiasana

MySQL databasefampiasa anaty latabatra maromaro? ankavia havia mitambatra fahombiazana fampiasana

MySQL fampiasana fifandraisana

Tao amin'ny toko teo aloha dia nianatra namaky angona avy amin'ny latabatra iray isika, izay somary tsotra, fa amin'ny fampiharana tena izy dia matetika ilaina ny mamaky angon-drakitra avy amin'ny tabilao maromaro.

Ato amin'ity toko ity dia hasehontsika anao ny fomba fampiasana ny JOIN MySQL amin'ny fangatahana data amin'ny tabilao roa na maromaro.

Azonao atao ny mampiasa ny Mysql's JOIN amin'ny fanambarana SELECT, UPDATE ary DELETE mba hanatevin-daharana fanontaniana maromaro.

Ny JOIN dia zaraina amin'ireto sokajy telo ireto araka ny asany:

  • INDRINDRA INDRINDRA (mikambana anaty, na equijoin): Mahazoa rakitra miaraka amin'ny saha mifanitsy amin'ny tabilao roa.
  • LEFT JOIN (miditra ankavia):Alao ao amin'ny latabatra ankavia ny rakitra rehetra, na dia tsy misy firaketana mifanaraka amin'ny latabatra havanana aza.
  • RIGHT JOIN (Right join): Mifanohitra amin'ny LEFT JOIN, ampiasaina izy io mba hahazoana ny rakitsoratra rehetra eo amin'ny latabatra havanana, na dia tsy misy rakitra mifanandrify amin'ny tabilao ankavia aza.

Mampiasa INNER JOIN amin'ny Command Prompt

Manana tabilao roa izahay tcount_tbl sy chenweiliang_tbl ao amin'ny tahiry chenweiliang.Ny angon-drakitra amin'ny tabilao data roa dia toy izao manaraka izao:

OHATRA

Andramo ireto ohatra manaraka ireto:

angona ohatra fitsapana

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)

Avy eo dia hampiasa MySQL izahayINNER JOIN (azonao atao koa ny manala ny INNER ary mampiasa JOIN, mitovy ny vokany)Raha ampifandraisina amin'ny tabilao roa etsy ambony hamakiana ny sandan'ny saha chenweiliang_count mifanitsy amin'ny saha chenweiliang_author rehetra ao amin'ny tabilao chenweiliang_tbl ao amin'ny tabilao 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)

Ny fanambarana SQL etsy ambony dia mitovy amin'ny:

WHERE clause

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)

MySQL LEFT JOIN

Ny fidirana ankavia MySQL dia hafa amin'ny fidirana. Ny MySQL LEFT JOIN dia hamaky ny angon-drakitra rehetra ao amin'ny tabilao data ankavia, na dia tsy misy angona mifanaraka amin'izany aza ny latabatra havanana.

OHATRA

Andramo ireto ohatra manaraka ireto mba chenweiliang_tbl ho an'ny latabatra havia,tcount_tbl Ho an'ny latabatra havanana, fantaro ny fampiharana ny MySQL LEFT JOIN:

MIARAKA MIARAKA

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)

Ao amin'ny ohatra etsy ambony, LEFT JOIN no ampiasaina, ary ity fanambarana ity dia hamaky ny angon-drakitra an-tsaha voafantina rehetra amin'ny tabilao data chenweiliang_tbl eo ankavia, na dia tsy misy sandan'ny saha mifanaraka amin'ny chenweiliang_author aza ao amin'ny tabilao tcount_tbl eo ankavanana.


MySQL RIGHT JOIN

Ny MySQL RIGHT JOIN dia hamaky ny angon-drakitra rehetra ao amin'ny tabilao data eo ankavanana, na dia tsy misy angon-drakitra mifanaraka amin'izany aza ao amin'ny latabatra eo ankavia.

OHATRA

Andramo ireto ohatra manaraka ireto mba chenweiliang_tbl ho an'ny latabatra havia,tcount_tbl Ho an'ny latabatra havanana, fantaro ny fampiharana ny MySQL RIGHT JOIN:

MIARAKA AZY

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)

RIGHT JOIN dia ampiasaina amin'ny ohatra etsy ambony, ity fanambarana ity dia hamaky ny angon-drakitra voafantina rehetra amin'ny tabilao angona havanana tcount_tbl, na dia tsy misy sandan'ny saha chenweiliang_author mifanaraka amin'izany aza ao amin'ny latabatra havia chenweiliang_tbl.


Mampiasa JOIN amin'ny script PHP

Ny asa mysqli_query() dia ampiasaina amin'ny PHP mba hanatanterahana ny fanambarana SQL, azonao atao ny mampiasa ny fanambarana SQL mitovy amin'ny etsy ambony amin'ny mari-pamantarana ny mysqli_query().

Andramo ity ohatra manaraka ity:

MySQL ORDER BY test:

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) nizara ny "Fampiasana latabatra maromaro amin'ny angon-drakitra MySQL fidirana anatiny? left Left Join Usage Efficiency", hanampy anao izany.

Tongasoa eto mizara ny rohy amin'ity lahatsoratra ity:https://www.chenweiliang.com/cwl-488.html

Tongasoa eto amin'ny fantsona Telegram an'ny bilaogin'i Chen Weiliang hahazoana vaovao farany!

🔔 Aoka ho voalohany hahazo ny "ChatGPT Content Marketing AI Tool Usage Guide" sarobidy ao amin'ny lahatahiry ambony fantsona! 🌟
📚 Ity torolalana ity dia misy sanda lehibe, 🌟Ity dia fotoana tsy fahita firy, aza adino! ⏰⌛💨
Partageo ary j'aime raha tianao!
Ny fizaranao sy ny j'aime no antony manosika anay hatrany!

 

Comments

Ny adiresy mailakao dia tsy havoaka. Ampiasaina ny saha ilaina * Label

horonana mankany ambony