使用Node.js连接和操作数据库 (node.js访问数据库)

Node.js是一个基于事件驱动、非阻塞式I/O的服务器端JavaScript运行环境。它的出现解决了一些问题,例如服务器连接的实时性,实现了服务器端JavaScript,减少了代码复杂度等等。同时,它也让连接和操作数据库更加容易。在这篇文章中,我们将了解如何使用Node.js连接和操作SQL数据库。

1. 连接数据库

要连接SQL数据库,我们需要使用Node.js模块。在Node.js中最常使用的模块是’ mysql ‘。我们将安装此模块并创建一个连接。

创建一个新的文件夹并初始化npm:

“`

$ mkdir node-mysql

$ cd node-mysql

$ npm init -y

“`

在此之后任意命名文件,例如 ‘ app.js ‘。以下是连接步骤:

“`

/*1. 引入mysql模块*/

const mysql = require(‘mysql’);

/*2. 创建连接*/

const connection = mysql.createConnection({

host: ‘localhost’,

user: ‘root’,

password: ‘password’,

database: ‘database_name’

});

/*3. 开始连接*/

connection.connect((error) => {

if (error) throw error;

console.log(‘Connected to the database successfully!’);

});

/*4. 关闭连接*/

connection.end((error) => {

if (error) throw error;

console.log(‘Database connection closed successfully!’);

});

“`

在这段代码中,我们首先引入了’ mysql ‘模块,然后使用 ‘ createConnection() ‘方法创建一个新的连接实例。它接受一个对象,其中包含要连接的数据库的详细信息,例如主机名称、用户名称、密码和数据库名称。

然后,在我们可以开始进行其他任何数据库操作之前,我们必须先打开连接,这可以使用 ‘ connect() ‘方法完成。在连接成功后,我们简单地在控制台上输出消息。我们可以使用 ‘ end() ‘方法关闭连接并在控制台上输出消息。

2. 验证连接是否成功

连接到数据库之后,我们可以使用查询来验证连接是否成功。让我们将一个简单的查询添加到’ app.js ‘文件中。

“`

/*1. 引入mysql模块*/

const mysql = require(‘mysql’);

/*2. 创建连接*/

const connection = mysql.createConnection({

host: ‘localhost’,

user: ‘root’,

password: ‘password’,

database: ‘database_name’

});

/*3. 查询数据*/

connection.query(‘SELECT * FROM table_name’, (error, result) => {

if (error) throw error;

console.log(result);

});

/*4. 关闭连接*/

connection.end((error) => {

if (error) throw error;

console.log(‘Database connection closed successfully!’);

});

“`

在这段代码中,我们使用 ‘ query() ‘方法执行一个简单的SQL查询,它会从’ table_name ‘中检索所有数据。然后将结果输出到控制台。

3. 插入数据

在此之后,我们将看一个例子,演示如何使用’ INSERT ‘语句向数据库中插入数据。

“`

/*1. 引入mysql模块*/

const mysql = require(‘mysql’);

/*2. 创建连接*/

const connection = mysql.createConnection({

host: ‘localhost’,

user: ‘root’,

password: ‘password’,

database: ‘database_name’

});

/*3. 插入数据*/

const data = {username: ‘test_user’, eml: ‘test@test.com’};

connection.query(‘INSERT INTO users SET ?’, data, (error, result) => {

if (error) throw error;

console.log(‘Data inserted successfully!’);

});

/*4. 关闭连接*/

connection.end((error) => {

if (error) throw error;

console.log(‘Database connection closed successfully!’);

});

“`

在这段代码中,我们使用 ‘ INSERT ‘语句将数据插入到名为 ‘ users ‘的表中。我们还创建了一个包含用户名和电子邮件的对象,并在’ query() ‘方法的第二个参数中将其传递给插入查询。

4. 更新数据

类似于插入数据,我们还可以使用’ UPDATE ‘语句更新表中的数据。以下代码将演示如何使用’ UPDATE ‘语句。

“`

/*1. 引入mysql模块*/

const mysql = require(‘mysql’);

/*2. 创建连接*/

const connection = mysql.createConnection({

host: ‘localhost’,

user: ‘root’,

password: ‘password’,

database: ‘database_name’

});

/*3. 更新数据*/

const data = {eml: ‘test_update@test.com’};

const { eml } = data;

connection.query(‘UPDATE users SET eml = ? WHERE username = ?’, [eml, ‘test_user’], (error, result) => {

if (error) throw error;

console.log(`Data updated successfully! ${result.affectedRows} rows affected`);

});

/*4. 关闭连接*/

connection.end((error) => {

if (error) throw error;

console.log(‘Database connection closed successfully!’);

});

“`

在这段代码中,我们使用’ UPDATE ‘语句将表中 ‘ username ‘为 ‘ test_user ‘的行更新为包含新电子邮件的新行。

5. 删除数据

除了更新和插入数据外,我们还可以使用’ DELETE ‘语句从表中删除数据。

“`

/*1. 引入mysql模块*/

const mysql = require(‘mysql’);

/*2. 创建连接*/

const connection = mysql.createConnection({

host: ‘localhost’,

user: ‘root’,

password: ‘password’,

database: ‘database_name’

});

/*3. 删除数据*/

connection.query(‘DELETE FROM users WHERE username = ?’, ‘test_user’, (error, result) => {

if (error) throw error;

console.log(`Data deleted successfully! ${result.affectedRows} rows affected`);

});

/*4. 关闭连接*/

connection.end((error) => {

if (error) throw error;

console.log(‘Database connection closed successfully!’);

});

“`

在这段代码中,我们使用’ DELETE ‘语句从表中删除 ‘ test_user ‘的行。

结论

Node.js模块可以帮助我们轻松连接和操纵SQL数据库。使用MySQL模块,您可以插入、更新、删除数据和查询数据,并创建复杂的SQL查询语句来满足您的需求。


数据运维技术 » 使用Node.js连接和操作数据库 (node.js访问数据库)