Node.jsMySQLドロップテーブル


テーブルを削除する

「DROPTABLE」ステートメントを使用して、既存のテーブルを削除できます。

テーブル「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に設定されることです。