Node.js MySQL 删掉表


删除表

您可以使用 "DROP TABLE" 语句删除现有表:

示例

删除表"customers":

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  var sql = "DROP TABLE customers";
  con.query( sql, function (err, result) {
    if (err) throw err;
    console.log("Table deleted");
  });
});
运行示例 »

将上面的代码保存在名为 "demo_db_drop_table.js" 的文件中并运行该文件:

运行"demo_db_drop_table.js"

C:\Users\ Your Name>node demo_db_drop_table.js

这会给你这个结果:

Table deleted


仅当存在时才删除

如果要删除的表已被删除,或者由于任何其他原因不存在,则可以使用 IF EXISTS 关键字来避免出现错误。

示例

删除表"customers"(如果存在):

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  var sql = "DROP TABLE IF EXISTS customers";
  con.query( sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});
运行示例 »

将上面的代码保存在名为 "demo_db_drop_table_if.js" 的文件中并运行该文件:

运行"demo_db_drop_table_if.js"

C:\Users\ Your Name>node demo_db_drop_table_if.js

如果表存在,结果对象将如下所示:

{
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  serverstatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0
}

如果表不存在,结果对象将如下所示:

{
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  serverstatus: 2,
  warningCount: 1,
  message: '',
  protocol41: true,
  changedRows: 0
}

正如您所看到的,唯一的区别是,如果表不存在,则 warningCount 属性设置为 1。