我如何列出我的数据库中的所有 table 并能够使用结果在 Electron 或 NodeJs 中执行函数

How can I list all table in my database and be able use the results to preform functions in Electron or NodeJs

我正在尝试创建一个应用程序,我可以在其中列出我的数据库中的所有 table,然后在列出 table 时列出。我希望能够单击每个 table 并且它应该显示电子或节点 js 中单击的 table 的所有列。

例如,如果我有一个名为 'students' 的数据库,并且该数据库有大约 3 个 table,即 'table1' 'table2' 和 'table3',每个table 有自己的 2 列,分别是 'id' 和 'name'

所以说我想列出所有这些 table 然后如果我单击 table1 它应该带我到 table1 和 Select 我所有的要显示的列。

我在下面有这段代码,它有助于显示 table,但我不知道如何让它根据我单击的 table 执行。

<html lang="en">
<head>
    
    <link rel="stylesheet" type="text/css" href="bootstrap.css">
    
</head>
<body>
   
<br>
<br>
         
    <div class="container">

    <table class="table table-striped " >
       
            <tr>
                <th>Grades </th>
            </tr>
            <tr id="grades">
                
            </tr>
        
    </table>
    </div>


<script type="text/javascript">



var mysql = require('mysql');

var con = mysql.createConnection({
        host     : "localhost",
  user     : "root",
  password : "",
  database : "students"
});



con.connect(function(err) {
  if (err) throw err;
  console.log('connected');


  var sql = "SHOW TABLES FROM students "

  con.query(sql, function (err, result, fields) {
    if (err) throw Eerr ;

  
        var i;
for (i = 0; i < result.length; i++) {

var cls = document.getElementById("grades"); 
var list ="<div>"+ result[i].Tables_in_students + "</div><br>";


cls.innerHTML += list;
    


}


});
 

});


</script>


</body>
</html>```


我不确定代码的结构是否正确,但这段代码完全符合我的要求。而且我相信我可能进行了不必要的第二次连接。

所以它是这样工作的,下面的代码循环遍历我的数据库并将它们显示在我的 table 中,我做了一个 loop-adding 按钮的技巧并将这些按钮的值设置为名称table。以便我以后可以用它来调用函数。

var mysql = require('mysql');

var con = mysql.createConnection({
        host     : "localhost",
  user     : "root",
  password : "",
  database : "students"
});



con.connect(function(err) {
  if (err) throw err;
  console.log('connected');

 }); 



  
var tableContent = document.getElementById("tableContent"); 
tableContent.innerHTML = "";
  var sql = "SHOW TABLES  " ;

  con.query(sql, function (err, result, fields) {
    if (err) throw err;
    


     var i;
    for (i = 0; i < result.length; i++) {
    
    var num =result[i].Tables_in_students;

var list ="<tr><td><button value="+num+" onclick='deletorr(this)'></button></td></tr>";

tableContent.innerHTML += list;


}

});

然后我有一个函数 deletorr() 检查按钮的值。 每个按钮都有一个与之关联的 table 名称的值。如果单击该按钮,该函数将删除 table 以及该按钮。如下图

function deletorr(sel){

     var mysql = require('mysql');

var con = mysql.createConnection({
        host     : "localhost",
  user     : "root",
  password : "",
  database : "students"
});



con.connect(function(err) {
  if (err) throw err;
  console.log('connected');


 }); 

    
    
    var value = sel.value;
    var sql = "DROP TABLE " +value;

 con.query(sql, function (err, result, fields) {
    if (err) alert (err);

  

        
});

// refresh page and show instant result after deleting table
location.reload();

}