Node.js 是一个基于 JavaScript 运行环境,可以让 JavaScript 代码在服务端运行。它可以用来构建 Web 应用程序,也可以用来连接数据库。
要在 Node.js 中连接数据库,首先需要安装一个数据库驱动程序,例如 MySQL、MongoDB 等。然后使用 Node.js 的 require() 方法引入该驱动程序,并使用它来创建一个数据库连接。
// 加载 MySQL 驱动程序 var mysql = require('mysql'); // 创建一个数据库连接 var connection = mysql.createConnection({ host: 'localhost', // 主机名或 IP 地址 user: 'root', // 用户名 password: '123456', // 密码 database: 'test' // 数据库名称 });
上面的代码中,我们使用 require() 方法引入了 MySQL 驱动程序,然后使用 createConnection() 方法创建了一个数据库连接。请注意,host、user、password、database 这四个参数是必须的,它们分别表示服务器地址、用户名、密码、数据库名。
当创建好数据库连接之后,就可以使用 connection.query() 方法执行 SQL 语句了。例如:
connection.query('SELECT * FROM users', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results); });
上面的代码中,我们使用 connection.query() 方法执行了一条 SQL 语句 SELECT * FROM users (即选取 users 表中的所有字段)。当 SQL 语句执行完成之后会自动触发回调函数(callback function) ,并将执行的结果作为回调函数的参数传递出去。
首先,使用以下语句导入mysql模块:
let mysql = require("mysql");
Js
其次,通过调用createConnection()方法并提供MySQL服务器上的详细信息(如主机,用户,密码和数据库),建立与MySQL数据库的连接,如下所示:
let connection = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "todoapp" });
Js
在本示例中,我们在本地数据库服务品上与todoapp数据库的连接。
第三步,在连接对象上调用connect()方法连接到MySQL数据库服务器:
connect()方法接受一个具有err参数的回调函数,如果发生任何错误,它将提供详细的错误。
connection.connect(function(err) { if (err) { return console.error("error: " + err.message); } console.log("Connected to the MySQL server."); });
Js
完整的connect.js程序代码如下所示 -
let mysql = require("mysql"); let connection = mysql.createConnection({ host: "localhost", user: "root", password: "123456", database: "todoapp" }); connection.connect(function(err) { if (err) { return console.error("error: " + err.message); } console.log("Connected to the MySQL server."); });
Js
我们来运行并测试一下connect.js程序 -
F:workspmysqlnodejsnodejs-connect>node connect.js openssl config failed: error:02001003:system library:fopen:No such process Connected to the MySQL server.
Shell
如果看到如上所示的“connected to the MySQL server”的消息,那么恭喜,您已经从node.js应用程序成功连接到MySQL数据库服务器。
假设使用MySQL用户账号的密码有错,并尝试连接到数据,您将收到一条错误消息:
F:workspmysqlnodejsnodejs-connect>node connect.js openssl config failed: error:02001003:system library:fopen:No such process error: ER_ACCESS_DENIED_ERROR: Access denied for user "root"@"localhost" (using password: YES)
SQL
请注意,您在connection对象上调用的每个方法都按顺序排队和执行。
MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。 语法 以下为...
MySQL Date 函数定义和用法 NOW() 返回当前的日期和时间。 语法NOW()实例 下面是 SELECT 语句:SELECT NOW(),CURDATE(),CURTIME(...
MySQL Date 函数定义和用法 EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。 语法EXTRACT(unit F...