Node.js - MySQL创建数据库



可以在MySQL服务器上创建一个或多个数据库(或模式)。虽然我们可以使用 MySQL 查询 CREATE DATABASE 以及 Workbench 创建数据库,但我们对使用Node.js程序创建数据库感兴趣。

数据库是我们以表格形式存储数据的地方。我们使用 MySQL 查询 CREATE DATABASE 来创建数据库。

语法

以下是MySQL创建数据库查询的语法 -


 CREATE DATABASE IF NOT EXISTS database_name;

创建一个您选择的数据库,在这里,我们正在为宠物店创建一个数据库,因此将其称为mydb,并在MySQL命令行客户端上运行命令“CREATE DATABASE”。


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

为了验证数据库的创建,我们可以运行“SHOW DATABASES”查询 -


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

con.query() 方法

mysql.createConnection() 方法返回的连接对象可以访问 query() 方法。任何有效 MySQL 查询的字符串表示都作为参数传递给它。query() 方法的第二个参数是回调函数。query() 方法的使用方法如下:


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

我们只需要将 query() 函数中的“sql”参数更改为字符串格式的所需查询。

由于在MySQL中创建数据库的查询是“CREATE DATABASE $database_name$”,因此,使用Node.js con.query()函数创建数据库的语法变为−


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

遵循 Java 脚本示例正在尝试创建一个名为 mydb 的 MySQL 数据库。为此 -

  • 首先,您需要将查询函数中的“sql”参数替换为“CREATE DATABASE mydb;”,并使用node运行该文件。
  • 现在,要检查您是否已创建数据库,我们可以使用 MySQL 查询“SHOW DATABASES;”。为此,您需要再次执行 con.query() 函数,这次您需要将 “SHOW DATABASES;” 查询作为第一个参数传递。
  • SHOW DATABASES 查询返回 RowDataPacket 对象的数组。您需要对数组中的每个对象进行字符串化以获取数据库名称。
  • 运行一个循环,查看所有数据库及其名称,并找到您刚刚创建的数据库。
  • 我们在创建数据库时添加了 IF NOT EXISTS 子句,因为我们不希望在创建数据库期间发生任何错误,以防数据库已被创建。

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();
});

输出

Connected!
Created database successfully
Showing databases

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