Node.js - MySQL Create Database

Một hoặc nhiều cơ sở dữ liệu (hoặc sơ đồ) có thể được tạo trên một máy chủ MySQL. Trong khi chúng ta có thể tạo cơ sở dữ liệu bằng truy vấn MySQL CREATE DATABASE , cũng như bằng Workbench, chúng ta quan tâm đến việc tạo một cơ sở dữ liệu bằng chương trình Node.js.

Cơ sở dữ liệu là nơi chúng ta lưu trữ dữ liệu dưới dạng bảng. Chúng ta sử dụng truy vấn MySQL CREATE DATABASE để tạo một cơ sở dữ liệu.

Syntax

Dưới đây là cú pháp của truy vấn Tạo Cơ sở dữ liệu trong MySQL −

CREATE DATABASE IF NOT EXISTS database_name;

Example

Tạo một cơ sở dữ liệu theo lựa chọn của bạn, ở đây chúng tôi đang tạo một cơ sở dữ liệu cho cửa hàng thú cưng và do đó gọi nó là mydb và chạy lệnh “CREATE DATABASE” trên MySQL Command Line Client.

mysql> CREATE DATABASE IF NOT EXISTS mydb;
Query OK, 1 row affected (0.02 sec)

Để xác minh việc tạo cơ sở dữ liệu, chúng ta có thể chạy truy vấn "SHOW DATABASES" .

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
7 rows in set (0.00 sec)

con.query() method

Đối tượng kết nối được trả về bởi phương thức mysql.createConnection() có quyền truy cập vào phương thức query(). Một chuỗi đại diện cho bất kỳ truy vấn MySQL hợp lệ nào được truyền vào nó như một tham số. Tham số thứ hai của phương thức query() là một hàm callback. Phương thức query() được sử dụng như sau −

con.query(sql, function (err, result) {. . . . . . });

Chúng ta chỉ cần thay đổi tham số "sql" trong hàm query() bằng truy vấn mong muốn ở định dạng chuỗi.

Vì truy vấn để tạo một cơ sở dữ liệu trong MySQL là "CREATE DATABASE $database_name$" , nên cú pháp để tạo một cơ sở dữ liệu bằng hàm con.query() của Node.js trở thành −

con.query("CREATE DATABASE $database_name$;", function (err, result) {
   //Your code
});

Example

Theo ví dụ JavaScript sau đây, đang cố gắng tạo một cơ sở dữ liệu MySQL có tên là mydb . Để thực hiện điều đó −

  • Trước tiên, bạn cần thay thế đối số "sql" trong hàm truy vấn bằng "CREATE DATABASE mydb;" và chạy tệp bằng cách sử dụng node.

  • Bây giờ, để kiểm tra xem bạn đã tạo cơ sở dữ liệu hay chưa, chúng ta có thể sử dụng truy vấn MySQL "SHOW DATABASES;". Để làm điều này, bạn cần thực hiện lại hàm con.query() lần này bạn cần truyền truy vấn "SHOW DATABASES;" làm tham số đầu tiên.

  • Truy vấn SHOW DATABASES trả về một mảng các đối tượng RowDataPacket. Bạn cần chuyển đổi từng đối tượng trong mảng thành chuỗi để lấy tên cơ sở dữ liệu.

  • Chạy một vòng lặp để xem tất cả các cơ sở dữ liệu với tên của chúng và tìm cơ sở dữ liệu mà bạn vừa tạo.

  • Chúng tôi đã thêm điều kiện IF NOT EXISTS khi tạo cơ sở dữ liệu vì chúng tôi không muốn xảy ra lỗi trong quá trình tạo cơ sở dữ liệu nếu nó đã được tạo trước đó.

var mysql = require('mysql');
var con = mysql.createConnection({
   host: "localhost",
   user: "root",
   password: "mypassword"
});
con.connect(function (err) {
   if (err) throw err;
   console.log("Connected!");
   con.query("CREATE DATABASE IF NOT EXISTS mydb;", function (err, result) {
      if (err) throw err;
         console.log("Created database successfully");
   });
   con.query("SHOW DATABASES;", function (err, result) {
      if (err) throw err;
         console.log("Showing databases\n");
      for (var i = 0; i < result.length; i++) {
         console.log(JSON.stringify(result[i]));
      }
   })
   con.end();
});

Output

Connected!
Created database successfully
Showing databases

{"Database":"information_schema"}
{"Database":"mydb"}
{"Database":"mysql"}
{"Database":"performance_schema"}
{"Database":"sakila"}
{"Database":"sys"}
{"Database":"world"}