使用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查询语句来满足您的需求。