Bạn có thể xóa một bảng hiện có khỏi Cơ sở dữ liệu MySql bằng cách sử dụng câu lệnh "DROP TABLE" trong Node. Đôi khi, chúng ta cần xóa toàn bộ bảng, mặc dù trong các doanh nghiệp, chúng tôi luôn khuyên bạn nên lưu trữ các bảng không được sử dụng thay vì xóa chúng.
Trong khi xóa bảng, chúng tôi có hai tình huống -
-
Xóa bảng nếu nó tồn tại, nếu không sẽ gặp lỗi
-
Xóa bảng cho dù nó tồn tại hay không.
Chúng ta sẽ thảo luận cả hai tình huống ở đây.
Trước khi tiếp tục, vui lòng kiểm tra các bước sau đã được thực hiện chưa -
-
mkdir mysql-test
-
cd mysql-test
-
npm init -y
-
npm cài đặt mysql
Các bước trên là để cài đặt Node - mysql dependecy trong thư mục dự án.
Xóa bảng
-
Để xóa bảng, trước tiên bạn cần tạo tệp app.js.
-
Bây giờ, hãy sao chép và dán đoạn mã sau vào tệp app.js
-
Chạy mã bằng lệnh sau
>> node app.js
Ví dụ 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); }); });
Đoạn mã trên sẽ gặp lỗi vì chúng tôi không có bảng có tên khách hàng. Chúng tôi có một bảng với tên - học sinh
Đầu ra
Error: ER_BAD_TABLE_ERROR: Unknown table 'bo.customers'
Ví dụ 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); }); });
Đầu ra
Vì bảng tồn tại, chúng ta sẽ nhận được kết quả sau.
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 }
Xóa bảng nếu tồn tại
Vậy, chúng ta phải làm thế nào để khắc phục tình trạng trên. Trong trường hợp trên, chúng ta có thể sử dụng mệnh đề "If Exists". Thao tác này sẽ chỉ xóa một bảng khỏi Cơ sở dữ liệu nếu nó tồn tại, nếu không nó sẽ không tạo ra lỗi nhưng đưa ra một số lượng cảnh báo.
-
Sao chép-dán mã sau vào tệp app.js
-
Chạy mã bằng lệnh sau
>> node app.js
Ví dụ
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); }); });
Đầu ra
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 }