NodeJSを使用したMySQLテーブルの削除
Nodeの「DROPTABLE」ステートメントを使用して、MySqlデータベースから既存のテーブルを削除できます。テーブル全体を削除する必要がある場合もありますが、企業では、使用されていないテーブルを削除するのではなく、アーカイブすることを常にお勧めします。
テーブルを削除する際、2つのシナリオがあります-
-
テーブルが存在する場合は削除し、存在しない場合はエラーをスローします
-
テーブルが存在するかどうかに関係なく、テーブルを削除します。
ここでは、両方のシナリオについて説明します。
先に進む前に、次の手順がすでに実行されていることを確認してください-
-
mkdir mysql-test
-
cd mysql-test
-
npm init -y
-
npm install mysql
上記の手順は、プロジェクトフォルダにNode-mysqldependecyをインストールするためのものです。
テーブルの削除
-
テーブルを削除するには、最初にapp.jsファイルを作成する必要があります。
-
次に、次のコードをコピーしてapp.jsファイルに貼り付けます
-
次のコマンドを使用してコードを実行します
>> node app.js
例1
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
//Delete the "customers" table:
var sql = "DROP TABLE customers";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table deleted");
console.log(result);
});
}); 上記のスニペットは、customersという名前のテーブルがないため、エラーをスローします。 「学生」という名前のテーブルがあります
出力
Error: ER_BAD_TABLE_ERROR: Unknown table 'bo.customers'
例2
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
//Delete the "students" table:
var sql = "DROP TABLE students";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table deleted");
console.log(result);
});
}); 出力
テーブルが存在するため、次の出力が得られます。
Table deleted
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 2,
warningCount: 0, // If table does exist, then the count = 0
message: '',
protocol41: true,
changedRows: 0
} 存在する場合はテーブルを削除する
では、どうすれば上記の状況を克服できますか。さて、上記の場合、「存在する場合」という句を使用できます。これにより、データベースからテーブルが存在する場合にのみ削除されます。それ以外の場合、エラーはスローされませんが、警告カウントが表示されます。
-
次のコードをコピーしてapp.jsファイルに貼り付けます
-
次のコマンドを使用してコードを実行します
>> node app.js
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
//Delete the "customers" table:
var sql = "DROP TABLE IF EXISTS customers";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table deleted");
console.log(result);
});
}); 出力
Table deleted
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 2,
warningCount: 1, // If table does not exist, then the count > 0
message: '',
protocol41: true,
changedRows: 0
} -
JavaのPreparedStatementを使用してMySQLテーブルにレコードを挿入しますか?
JavaでPreparedStatementを使用してテーブルにレコードを挿入するには、以下の構文を使用してレコードを挿入する必要があります。構文は次のとおりです- String anyVariableName= "INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3,.........N)" + "VALUES (?, ?, ?,..............N)"; 次に、PreparedStatementオブジェクトを使用して、すべての列の値を設定しま
-
Javaを使用してMySQLテーブルの値を表示する
このために、ResultSetの概念を使用できます。接続には、MySQLJDBCDriverを使用します。 テーブルを作成しましょう- 例 mysql> create table demo87 -> ( -> name varchar(20), -> age int -> ) -> ; Query OK, 0 rows affected (0.62 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 my