mysql語句在node.js中的寫法

  總結一下mysql語句在node.js中的各種寫法,參考了npm網站mysql模塊給的實例。

  查詢 select

//1
db.query('select * from tuanshang_users where user_id < 10',function(err,results,fields){//if(err) throw err;console.log( results );if(!!results.length){console.log('查詢到'+ results.length +'條數據');}else{console.log('沒有相關數據');} 
});
//2
db.query('select * from tuanshang_users where user_id=?',[8],function(err,results,fields){if(err) throw err;console.log( results );  
});
//3
db.query({sql: 'select * from tuanshang_users where user_id=? and username=?',values: [43,'ABCD'],timeout: 40000
},function(err,results,fields){if(err) throw err;console.log( results );  
});
//4
db.query({sql: 'select * from tuanshang_users where user_id=? and username=?',timeout: 40000
},[44,'ABCDEF'],function(err,results,fields){if(err) throw err;console.log( results );  
});
//5
var userid = 44;
var columns = ['username','password'];
var sql = 'select ?? from ?? where user_id=?';
db.query(sql,[columns,'tuanshang_users',userid],function(err,results,fields){if(err) throw err;console.log( results );  
});

  插入?insert into

//1
var o = {username:'cnode', password:'123456'};
db.query('insert into tuanshang_users set ?', o, function(err,result){console.log( result );if(result){console.log('插入成功');console.log( result.insertId );}else{console.log('插入失敗');}  
});
//2
db.query('insert into tuanshang_users set ?',{username:'hello',password:'123456'}, function(err,result){//if(err) throw err;if(result){console.log('插入成功');console.log( result );}else{console.log('插入失敗');}  
});
//3
db.query({sql: 'insert into tuanshang_users set ?',values: {username:'kankan',password:'123456'},timeout: 40000
},function(err,result){//if(err) throw err;console.log( result ); if( !!result ){console.log('插入成功');console.log( result.insertId );}else{console.log('插入失敗');}   
});
//4 5 參考查詢select

  更新 update?  

//1
db.query('update tuanshang_users set ? where user_id=?',[{username:'hello'},8],function(err,result){//if(err) throw err;console.log(result);if(!!result && !!result.changedRows){console.log('更新成功');console.log( result.changedRows ); }else{console.log('更新失敗');} 
});
//2
db.query('update tuanshang_users set ? where user_id=5',{username:'hello'},function(err,result){//if(err) throw err;console.log(result);if(!!result && !!result.changedRows){console.log('更新成功');console.log( result.changedRows ); }else{console.log('更新失敗');} 
});
//3
db.query({sql: 'update tuanshang_users set ? where user_id=?',values: [{username:'hello'},8],timeout: 40000
},function(err,result){//if(err) throw err;console.log( result ); if(!!result && !!result.changedRows){console.log('更新成功');console.log( result.changedRows ); }else{console.log('更新失敗');}  
});
//4 5 參考查詢select

  刪除 delete?  

//1
db.query('delete from tuanshang_users where username="hello"',function(err,result){//if(err) throw err;console.log( result ); if(!!result && !!result.affectedRows){console.log('刪除成功');console.log( result.affectedRows ); }else{console.log('刪除失敗');}  
});
//2
db.query('delete from tuanshang_users where user_id=?',[10],function(err,result){//if(err) throw err;console.log( result ); if(!!result && !!result.affectedRows){console.log('刪除成功');console.log( result.affectedRows ); }else{console.log('刪除失敗');}  
});
//3
db.query({sql: 'delete from tuanshang_users where user_id=?',values: [51],timeout: 40000
},function(err,result){//if(err) throw err;console.log( result ); if(!!result && !!result.affectedRows){console.log('刪除成功');console.log( result.affectedRows ); }else{console.log('刪除失敗');} 
});
//4 5 參考查詢select

?  查詢操作,會返回一個結果數組。如果沒有查詢數據,結果數組為空,即數組長度為0。

   插入,更新,刪除操作會返回一個結果對象

{ fieldCount: 0,affectedRows: 0,insertId: 0,serverStatus: 2,warningCount: 0,message: '',protocol41: true,changedRows: 0 
}

?  在插入操作后,結果對象中?insertId?返回插入的數據在表中id的位置。

   在更新操作后,結果對象中 changedRows 返回更新了多少行(表中有幾條數據中的字段值發生變化),affectedRows 返回滿足where條件影響的行。

   在刪除操作后,結果對象中?affectedRows 返回刪除了多少行。如果是0表示沒有刪除行或者沒有滿足刪除條件的數據行。

  ?

?

轉載于:https://www.cnblogs.com/eyeear/p/4747204.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375612.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375612.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375612.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jqPlot圖表插件學習之折線圖-散點圖-series屬性

一、準備工作 首先我們需要到官網下載所需的文件&#xff1a; 官網下載&#xff08;筆者選擇的是jquery.jqplot.1.0.8r1250.zip這個版本&#xff09; 然后讀者需要根據自己的情況新建一個項目并且按照如下的方式加載對應的js和css&#xff08;因為筆者在VS2012環境下新建的&…

node.js基礎:數據存儲

無服務器的數據存儲 內存存儲 var http require(http); var count 0; //服務器訪問次數存儲在內存中 http.createServer(function(req,res){res.write(hello count);res.end(); }).listen(3000);    基于文件的存儲 node.js中主要用fs文件系統模塊來管理文件的存儲。 文件…

CUDA 6.5 VS2013 Win7:創建CUDA項目

運行環境&#xff1a; Win7VS2013CUDA6.5 1.創建win32空項目 2.右鍵項目解決方案-->生成項目依賴項-->生成自定義 3.右鍵項目解決方案-->屬性-->配置屬性-->常規-->平臺工具集 配置屬性-->VC目錄-->包含目錄&#xff0c;添加 $(CUDA_INC_PATH) 連接器-…

c/c++編碼規范(2)--作用域

2. 作用域 靜止使用class類型的靜態或全局變量。 6. 命名約定 6.1. 函數名&#xff0c;變量名&#xff0c;文件名要有描述性&#xff0c;少用縮寫。 6.2. 文件命名 6.2.1. 文件名要全部用小寫。可使用“_”或"-"&#xff0c;遵從項目規范&#xff0c;沒有規范&#x…

subversion svnserver服務啟動與配置

svnserve 是一個輕量級的服務&#xff0c; 使用自定義的協議通過TCP/IP與客戶端通訊。 客戶端通過由 svn:// 或者 svnssh:// 開始的URL訪問svnserve服務器。 啟動服務器 端口監控&#xff08;inetd&#xff09;模式 如果你打算用端口監控來啟動處理客戶的訪問請求的進程&#x…

mongodb地理空間索引原理閱讀摘要

http://www.cnblogs.com/taoweiji/p/3710495.html 具體原理在上面 簡單概述&#xff0c;&#xff08;x,y&#xff09;經緯度坐標&#xff0c;通過geohash的方式&#xff0c;通過N次方塊四分割生成一個坐標碼&#xff0c;然后用坐標碼進行BTREE的索引建立轉載于:https://www.cnb…

angular 頁面加載時可以調用 函數處理

轉載于 作者:海底蒼鷹地址:http://blog.51yip.com/jsjquery/1599.html 我希望頁面加載的時候&#xff0c;我能馬上處理頁面的數據&#xff0c;如請求API .... 所以這樣設置 在某個頁面的控制器中 監聽頁面load phonecatControllers.controller(registerctr, [$scope, $routePa…

刪除排序數組中的重復項

給定一個排序數組&#xff0c;你需要在原地刪除重復出現的元素&#xff0c;使得每個元素只出現一次&#xff0c;返回移除后數組的新長度。 不要使用額外的數組空間&#xff0c;你必須在原地修改輸入數組并在使用 O(1) 額外空間的條件下完成。 示例 1: 給定數組 nums [1,1,2…

android 處理鼠標滾輪事件 【轉】

android處理鼠標滾輪事件&#xff0c;并不是如下函數&#xff1a; 1&#xff09; public boolean onKeyDown(int keyCode, KeyEvent event) 2) public boolean dispatchKeyEvent(KeyEvent event) 3) public boolean onTouchEvent(MotionEvent event) 而是如下函數 …

ASP.NET數據報表之柱狀圖 ------工作日志

#region 柱形色調 /// <summary> /// 柱形色調 /// </summary> private string[] myColor new string[] { "DarkGreen", "DimGray", "DodgerBlue", "Orchid", //Peru "Orange", "Orchid", &q…

接口安全--簽名驗證

為防止第三方冒充客戶端請求服務器&#xff0c;可以采用參數簽名驗證的方法&#xff1a; 將請求參數中的各個鍵值對按照key的字符串順序升序排列&#xff08;大小寫敏感&#xff09;&#xff0c;把key和value拼成一串之后最后加上密鑰&#xff0c;組成key1value1key2value2PRIV…

Runtime類

Runtime類也在java.lang包中&#xff0c;這個類沒有提供構造器&#xff0c;但是提供的卻非靜態方法&#xff0c;而是在方法中提供了一個靜態方法來返回當前進程的Runtime實例&#xff0c;采用的單例設計模式。 其作用&#xff1a;可以對當前java程序進程進行操作、打開本機程序…

Spring MVC 返回NULL時客戶端用$.getJSON的問題

如果Spring MVC返回是NULL&#xff0c;那么客戶端的$.getJSON就不會觸發&#xff1b; 20170419補充 后臺的輸出為&#xff1a; DEBUG [org.springframework.web.servlet.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name springMVC: assuming …

duilib設置滾動條自動滾動到底

控件屬性中添加 vscrollbar"true" autovscroll"true"分別是啟用豎向滾動條&#xff0c;是否隨輸入豎向滾動

MVC,MVP 和 MVVM 的圖示

復雜的軟件必須有清晰合理的架構&#xff0c;否則無法開發和維護。 MVC&#xff08;Model-View-Controller&#xff09;是最常見的軟件架構之一&#xff0c;業界有著廣泛應用。它本身很容易理解&#xff0c;但是要講清楚&#xff0c;它與衍生的 MVP 和 MVVM 架構的區別就不容易…

Java JDBC學習實戰(二): 管理結果集

在我的上一篇博客《Java JDBC學習實戰&#xff08;一&#xff09;&#xff1a; JDBC的基本操作》中&#xff0c;簡要介紹了jdbc開發的基本流程&#xff0c;并詳細介紹了Statement和PreparedStatement的使用&#xff1a;利用這兩個API可以執行SQL語句&#xff0c;完成基本的CURD…

error: storage size of ‘threads’ isn’t known

出錯的代碼行&#xff1a; pthread_t threads[NUM_THREADS];原因&#xff1a; NUM_THREADS 無值 原先&#xff1a; #define NUM_THREADS修改為 #define NUM_THREADS 5

android之相機開發

http://blog.csdn.net/jason0539/article/details/10125017 android之相機開發 分類&#xff1a; android 基礎知識2013-08-20 22:32 9774人閱讀 評論(2) 收藏 舉報Android在android中應用相機功能&#xff0c;一般有兩種&#xff1a;一種是直接調用系統相機&#xff0c;一種自…

文件和文件夾權限-Win7公共盤中出現大量臨時文件

公司中有一個文件服務器&#xff0c;給不同部門和員工設置了不同的權限&#xff0c;最近有員工&#xff08;沒有修改權限&#xff0c;有讀取及執行,讀取,寫入&#xff09;反映在公共盤上修改文件的時候會產生大量的臨時文件&#xff0c;添加上修改權限之后就可以了&#xff0c;…

Duilib編輯框Edit輸入完自動跳到下一個編輯框

首先xml文件中設置edit的maxchar參數&#xff0c;默認255好像。 <edit maxchar"10" />然后在notify函數中加入以下代碼 if (msg.sType _T("textchanged")) {if (static_cast<CEditUI*>(msg.pSender)->GetMaxChar() msg.pSender->GetT…