新聞中心
Node.js是一個基于事件驅(qū)動、非阻塞式I/O的服務器端JavaScript運行環(huán)境。它的出現(xiàn)解決了一些問題,例如服務器連接的實時性,實現(xiàn)了服務器端JavaScript,減少了代碼復雜度等等。同時,它也讓連接和操作數(shù)據(jù)庫更加容易。在這篇文章中,我們將了解如何使用Node.js連接和操作SQL數(shù)據(jù)庫。

1. 連接數(shù)據(jù)庫
要連接SQL數(shù)據(jù)庫,我們需要使用Node.js模塊。在Node.js中最常使用的模塊是’ mysql ‘。我們將安裝此模塊并創(chuàng)建一個連接。
創(chuàng)建一個新的文件夾并初始化npm:
“`
$ mkdir node-mysql
$ cd node-mysql
$ npm init -y
“`
在此之后任意命名文件,例如 ‘ app.js ‘。以下是連接步驟:
“`
/*1. 引入mysql模塊*/
const mysql = require(‘mysql’);
/*2. 創(chuàng)建連接*/
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() ‘方法創(chuàng)建一個新的連接實例。它接受一個對象,其中包含要連接的數(shù)據(jù)庫的詳細信息,例如主機名稱、用戶名稱、密碼和數(shù)據(jù)庫名稱。
然后,在我們可以開始進行其他任何數(shù)據(jù)庫操作之前,我們必須先打開連接,這可以使用 ‘ connect() ‘方法完成。在連接成功后,我們簡單地在控制臺上輸出消息。我們可以使用 ‘ end() ‘方法關閉連接并在控制臺上輸出消息。
2. 驗證連接是否成功
連接到數(shù)據(jù)庫之后,我們可以使用查詢來驗證連接是否成功。讓我們將一個簡單的查詢添加到’ app.js ‘文件中。
“`
/*1. 引入mysql模塊*/
const mysql = require(‘mysql’);
/*2. 創(chuàng)建連接*/
const connection = mysql.createConnection({
host: ‘localhost’,
user: ‘root’,
password: ‘password’,
database: ‘database_name’
});
/*3. 查詢數(shù)據(jù)*/
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() ‘方法執(zhí)行一個簡單的SQL查詢,它會從’ table_name ‘中檢索所有數(shù)據(jù)。然后將結(jié)果輸出到控制臺。
3. 插入數(shù)據(jù)
在此之后,我們將看一個例子,演示如何使用’ INSERT ‘語句向數(shù)據(jù)庫中插入數(shù)據(jù)。
“`
/*1. 引入mysql模塊*/
const mysql = require(‘mysql’);
/*2. 創(chuàng)建連接*/
const connection = mysql.createConnection({
host: ‘localhost’,
user: ‘root’,
password: ‘password’,
database: ‘database_name’
});
/*3. 插入數(shù)據(jù)*/
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 ‘語句將數(shù)據(jù)插入到名為 ‘ users ‘的表中。我們還創(chuàng)建了一個包含用戶名和電子郵件的對象,并在’ query() ‘方法的第二個參數(shù)中將其傳遞給插入查詢。
4. 更新數(shù)據(jù)
類似于插入數(shù)據(jù),我們還可以使用’ UPDATE ‘語句更新表中的數(shù)據(jù)。以下代碼將演示如何使用’ UPDATE ‘語句。
“`
/*1. 引入mysql模塊*/
const mysql = require(‘mysql’);
/*2. 創(chuàng)建連接*/
const connection = mysql.createConnection({
host: ‘localhost’,
user: ‘root’,
password: ‘password’,
database: ‘database_name’
});
/*3. 更新數(shù)據(jù)*/
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. 刪除數(shù)據(jù)
除了更新和插入數(shù)據(jù)外,我們還可以使用’ DELETE ‘語句從表中刪除數(shù)據(jù)。
“`
/*1. 引入mysql模塊*/
const mysql = require(‘mysql’);
/*2. 創(chuàng)建連接*/
const connection = mysql.createConnection({
host: ‘localhost’,
user: ‘root’,
password: ‘password’,
database: ‘database_name’
});
/*3. 刪除數(shù)據(jù)*/
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 ‘的行。
結(jié)論
Node.js模塊可以幫助我們輕松連接和操縱SQL數(shù)據(jù)庫。使用MySQL模塊,您可以插入、更新、刪除數(shù)據(jù)和查詢數(shù)據(jù),并創(chuàng)建復雜的SQL查詢語句來滿足您的需求。
相關問題拓展閱讀:
- nodejs 連接mysql數(shù)據(jù)庫進行增刪改查操作,是進行一次操作就要 connnect 一次數(shù)據(jù)庫 然后關閉嗎?
nodejs 連接mysql數(shù)據(jù)庫進行增刪改查操作,是進行一次操作就要 connnect 一次數(shù)據(jù)庫 然后關閉嗎?
設置為可和敏派以執(zhí)行多條語句:
var connection = mysql.createConnection({
host : constant.DB_HOST_NAME,
user : constant.DB_USER,
password : constant.DB_PWD,
database : constant.DB_NAME,
multipleStatements: true // 支持拿旁執(zhí)行多條 sql 語喚賀句
});
原則上就是這樣的。因為網(wǎng)絡數(shù)據(jù)庫是要注重并發(fā)性兆鄭的,如果你長時間占用一個連接,那么你這個連接所涉及的族困頌記錄就會被長時間鎖定,其他所有用戶都會無法訪問,如果有多個用戶尺銷同時操作數(shù)據(jù)庫,那網(wǎng)站基本上就癱瘓了。所以原則上都要求數(shù)據(jù)庫的查詢要做到隨用隨關閉。
node.js訪問數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于node.js訪問數(shù)據(jù)庫,使用Node.js連接和操作數(shù)據(jù)庫,nodejs 連接mysql數(shù)據(jù)庫進行增刪改查操作,是進行一次操作就要 connnect 一次數(shù)據(jù)庫 然后關閉嗎?的信息別忘了在本站進行查找喔。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
當前文章:使用Node.js連接和操作數(shù)據(jù)庫(node.js訪問數(shù)據(jù)庫)
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/cceecoh.html


咨詢
建站咨詢
