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