来自 数据库 2019-11-09 05:52 的文章
当前位置: 网上澳门金莎娱乐 > 数据库 > 正文

网上澳门金莎娱乐MySQL中视图的使用及多表INNER JOIN的技巧分享

  • 需求如题

创建视图  
Sql代码 

取出数据库中某表的表头和内容,并显示该表的行数和列数

CREATE VIEW view_name AS 
SELECT t1.xxx, t2.xxx, t3.xxx 
FROM (table1 t1 
INNER JOIN table2 t2 ON t1.fid = t2.fid) 
INNER JOIN table3 t3 ON t1.mid = t3.mid; 
 1 <?php
 2     //显示表内容的函数
 3     function showTable($tableName){
 4         //连接数据库
 5         $mysqli=new MySQLi("localhost","root","root","test");
 6         if(mysqli_connect_error()){
 7             die(mysqli_connect_error());
 8         }
 9         //设置字符集
10         $mysqli->query("set names utf8");
11         //sql查询语句
12         $sql="select * from $tableName";
13         //执行sql语句
14         $res=$mysqli->query($sql);
15         //取结果集中的行数
16         $rows=$res->num_rows;
17         //取结果集中的列数
18         $colums=$res->field_count;
19         echo "该表有 $rows 行 $colums 列";
20         //输出表头
21         echo "<table border=1 cellspacing=0 cellpadding=3><tr>";
22         while($field=$res->fetch_field()){
23             echo "<th>{$field->name}</th>";
24         }
25         echo "</tr>";
26         //输出表的内容
27         while($row=$res->fetch_row()){
28             echo "<tr>";
29             for($i=0;$i<$colums;$i++){
30                 echo "<td>$row[$i]</td>";
31             }
32             echo "</tr>";
33         }
34         echo "</table>";
35         //释放结果集
36         $res->free_result();
37         //关闭连接
38         $mysqli->close();
39     }
40     showTable("user1");
41 ?>

这里使用了3表关联,对于多表关联的 INNER JOIN 写法有一个技巧

结果如下:

  1. 先写最简单的2表关联 INNER JOIN
  2. 然后使用 () 从 FROM 之后到语句结尾全部扩起来
  3. 在语句结尾开始连接与下一个表的 INNER JOIN

网上澳门金莎娱乐 1

记住这个原则,未来进行4表关联,5表关联就都不是什么难事了 
 
删除视图  

 

复制代码 代码如下:

DROP VIEW view_name 

以下是其它网友的补充:

本文由网上澳门金莎娱乐发布于数据库,转载请注明出处:网上澳门金莎娱乐MySQL中视图的使用及多表INNER JOIN的技巧分享

关键词: