『壹』 nodejs簡單訪問及操作mysql資料庫的方法示例
本文實例講述了nodejs簡單訪問及操作mysql資料庫的方法。分享給大家供大家參考,具體如下:
var
mysql
=
require('mysql');
//調用MySQL模塊
mysql模塊要安裝
$
npm
install
mysql
//創建一個connection
var
connection
=
mysql.createConnection({
host
:
'127.0.0.1',
//主機
user
:
'root',
//MySQL認證用戶名
password
:
'',
//MySQL認證用戶密碼
port:
'3306',
//埠號
database:''
//資料庫名
});
//創建一個connection
connection.connect(function(err){
if(err){
console.log('[query]
-
:'+err);
return;
}
console.log('[connection
connect]
succeed!');
});
//執行SQL語句
connection.query('SELECT
1
+
1
AS
solution',
function(err,
rows,
fields)
{
if
(err)
{
console.log('[query]
-
:'+err);
return;
}
console.log('The
solution
is:
',
rows[0].solution);
});
//關閉connection
connection.end(function(err){
if(err){
return;
}
console.log('[connection
end]
succeed!');
});
註:nodejs在操作資料庫的時候不用設置資料庫的編碼格式
set
names
utf8
希望本文所述對大家nodejs程序設計有所幫助。
您可能感興趣的文章:nodejs連接mysql資料庫簡單封裝示例-mysql模塊nodejs進階(6)—連接MySQL資料庫示例nodejs實現的連接MySQL資料庫功能示例Nodejs連接mysql並實現增、刪、改、查操作的方法詳解nodeJs實現基於連接池連接mysql的方法示例nodejs中操作mysql資料庫示例NodeJS鏈接MySql資料庫的操作方法Nodejs使用mysql模塊之獲得更新和刪除影響的行數的方法NodeJs使用Mysql模塊實現事務處理實例nodejs連接mysql資料庫及基本知識點詳解
『貳』 如何使用nodejs與mysql進行數據交互
先npm install mysql
然後代碼中就可以require('mysql');
就可以使用了
var mysql = require('mysql');var pool = mysql.createPool(config);pool.getConnection(function(err, connection) {
// Use the connection
connection.query( 'SELECT something FROM sometable', function(err, rows) {
// And done with the connection.
connection.end();
// Don't use the connection here, it has been returned to the pool.
});});
js代碼透明,你在寫好代碼提交給別人的時回候,或是部署的時候,用答Jshaman給代碼加密一下,別人就看不了你的代碼了
『叄』 nodejs是同步還是非同步
node里幾乎所有用到回調函數的地方,都是非同步的,回調函數後面的代碼很可能比回調函數內中的代碼後先執行,容特別是資料庫操作。當然,node也提供了同步版本的函數,例如文件操作,fs.readFileSync()是fs.readFile()的同步版本。
那麼問題來了,forEach()是不是非同步的呢?按理說,沒有加Sync,應該是非同步的呀。
復制代碼 代碼如下:
var arr = ['a', 'b', 'c'];
var str = '123';
arr.forEach(function(item) {
str += item;
while (true) {}; //用一個死循環,卡死它~~
});
console.log(str);
運行上面的代碼,結果它就這么卡死了,沒有任何輸出。。
所以說,node里的forEach()是同步的!!
第一次用node的時候,沒有考慮過這個問題,按同步的寫了,寫突然想到,測試後虛驚一場,以為以前的代碼都寫錯了。
『肆』 【node】nodejs promise-mysql 處理事務
項目用到了祥彎node來做後台服務端,自然避免不了要用redis、sql等等。談察在mysql中挑了promise-mysql來做,其中的pool連接池用著挺方便的。
但最近的業務需要用上事務,官方文檔貌似沒有特別的說明。
源碼的pool有個getConnection的方法,同時return new PoolConnection
再看看這個PoolConnection,調用了Connection.call(this, null, _connection),說明具有connection的所有功能
便可追進Connection裡面看,有beginTransaction,query,commit,rollback,足夠我們使用,另外PoolConnection裡面還有release方法,保證了pool連接池的不用謹侍悶destroy掉這個connection。
不說廢話,直接貼碼
『伍』 NodeJS 在非同步函數(async/await)中調用棧列印不全的問題
我在 index.ts 中調用 time-helper.ts 中的 waitForFn(),出錯的調用棧是這樣的:
這個調用棧有啥問題呢?只顯示出了 time-helper 模塊的文件信息,完全不顯示調用者的信息,這樣一來,完全不知道是誰調用了這個 waitForFn() 函數。你從錯誤信息里都不知道是哪個函數出錯了。
出現這種情況,原因在這里:「鏈接」
解決辦法在這里:「鏈接」
簡單總結下 ,就是:
在非同步埋睜函數返回之前,系統會清空當前調用線,然後把非同步函數中的調用乎知棧寫進去。
解決辦法 :只要把 tsconfig.json 文件中的 compilerOptions.target 改成 es2018 或歲液消以上的版本即可。
改完後效果:
可見整個調用棧都非常清晰。
『陸』 nodejs 循環查詢資料庫為什麼查出來的數據不能存入數組里
沒看太明白抄,你是想襲遍歷資料庫里的返回的結果,然後對結果中的ID執行courseService.getCharpterJob方法,然後再執行courseService.getCharpterJob的回調么?
『柒』 nodejs和mysql交互問題
1、首先需要安裝nodejs 的mysql包
npm install mysql
2、編寫nodejs與mysql交互的代碼
var mysql = require('mysql');
var TEST_DATABASE = 'ceshi';
var TEST_TABLE = 'user';
//創建連接
var client = mysql.createConnection({
user: 'root',
password: '',
});
client.connect();
client.query("use " + TEST_DATABASE);
client.query(
'SELECT * FROM '+TEST_TABLE,
function selectCb(err, results, fields) {
if (err) {
throw err;
}
if(results)
{
for(var i = 0; i < results.length; i++)
{
console.log("%d\t%s\t%s", results[i].id, results[i].name, results[i].age);
}
}
client.end();
}
);
3、運行結果
D:\nodejs\mysql>node mysql.js
1 u1 23
2 u2 24
3 u3 25
『捌』 nodejs mysql可以同步嗎
node的IO操作全都是非同步的,可以使用promise來實現同步,node的mysql模塊已經支持promise了
『玖』 關於nodejs和mysql問題
要在sql上最一對多關聯,然後json的數據結構也要保存這樣的返回結果。
『拾』 伺服器運行nodejs加mysql需要什麼樣的配置
Nodejs要連接MySQL,可以使用Nodejs的MysQL驅動來實現。比如,我們這里使用「node-mysql」連接資料庫。我們使用下面的方式來連接資料庫:
首先,我們需要使用nodejs的包管理工具(npm)安裝mysql的驅動。命令行如下:
[plain] view plain
npm install musql
現在,要在js文件中使用mysql,添加下面的代碼到你的文件中:
[plain] view plain