nodejs-mysql基礎(chǔ)操作

新建數(shù)據(jù)表

使用Navicat for mysql之類的工具新建數(shù)據(jù)

  • 新建名為my_news_test的數(shù)據(jù)庫
  • 在my_news_test中使用如下代碼創(chuàng)建數(shù)據(jù)表
CREATE TABLE `node_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  `age` int(8) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
INSERT INTO `node_user` VALUES ('1', 'admin', '32');
INSERT INTO `node_user` VALUES ('2', 'dans88', '45');
INSERT INTO `node_user` VALUES ('3', '張三', '35');
INSERT INTO `node_user` VALUES ('4', 'ABCDEF', '88');
INSERT INTO `node_user` VALUES ('5', '李小二', '65');
創(chuàng)建數(shù)據(jù)表

創(chuàng)建完成后刷新數(shù)據(jù)庫贮匕,可以看到新增了一個表,且有五條數(shù)據(jù)


查看數(shù)據(jù)

接下來,就要開始使用nodejs來操作了

安裝node-mysql

npm install mysql

測試連接

在根目錄下新建test.js,測試是否能成功連接到mysql,js代碼如下

var mysql = require('mysql'); 
var TEST_DATABASE = 'my_news_test'; 
var TEST_TABLE = 'node_user'; 
//創(chuàng)建連接 
var client = mysql.createConnection({ 
  user: 'root', 
  password: 'angel', 
}); 
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(); 
  } 
);

在cmd中執(zhí)行上面的js文件,打印如下為正常


測試連接

新建insert.js文件,代碼如下

var mysql  = require('mysql'); 
var connection = mysql.createConnection({    
  host     : '127.0.0.1',      
  user     : 'root',             
  password : 'angel',      
  port: '3306',                  
  database: 'my_news_test',
});
 
connection.connect();

var  userAddSql = 'INSERT INTO node_user(id,name,age) VALUES(0,?,?)';
var  userAddSql_Params = ['Wilson', 55];
//增 add
connection.query(userAddSql,userAddSql_Params,function (err, result) {
    if(err){
     console.log('[INSERT ERROR] - ',err.message);
     return;
    }       
   console.log('-------INSERT----------');
   //console.log('INSERT ID:',result.insertId);       
   console.log('INSERT ID:',result);       
   console.log('#######################'); 
});
connection.end();

再打開Navicat for mysql查看數(shù)據(jù)庫喉钢,是否成功插入一條數(shù)據(jù)

成功插入一條數(shù)據(jù)

新建名為update.js的文件,代碼如下

var mysql  = require('mysql'); 
 
var connection = mysql.createConnection({    
  host     : '127.0.0.1',      
  user     : 'root',             
  password : 'angel',      
  port: '3306',                  
  database: 'my_news_test',
});
 
connection.connect();
 
var userModSql = 'UPDATE node_user SET name = ?,age = ? WHERE id = ?';
var userModSql_Params = ['Hello World',99,6];
//改 up
connection.query(userModSql,userModSql_Params,function (err, result) {
   if(err){
         console.log('[UPDATE ERROR] - ',err.message);
         return;
   }       
  console.log('----------UPDATE-------------');
  console.log('UPDATE affectedRows',result.affectedRows);
  console.log('******************************');
});
 
connection.end();

運行上面的代碼

執(zhí)行代碼

刷新Navicat for mysql良姆,查看數(shù)據(jù)是否已被成功修改


修改成功

新建query.js文件肠虽,代碼如下:

var mysql  = require('mysql'); 
 
var connection = mysql.createConnection({    
  host     : '127.0.0.1',      
  user     : 'root',             
  password : 'angel',      
  port: '3306',                  
  database: 'my_news_test',
});
 
connection.connect();
 
var  userGetSql = 'SELECT * FROM node_user';
//查 query
connection.query(userGetSql,function (err, result) {
        if(err){
          console.log('[SELECT ERROR] - ',err.message);
          return;
        }       
 
       console.log('---------------SELECT----------------');
       console.log(result);       
       console.log('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'); 
});
 
connection.end();
執(zhí)行代碼

新建del.js文件,代碼為

var mysql  = require('mysql'); 
 
var connection = mysql.createConnection({    
  host     : '127.0.0.1',      
  user     : 'root',             
  password : 'angel',      
  port: '3306',                  
  database: 'my_news_test',
});
 
connection.connect();
 
var  userDelSql = 'DELETE FROM node_user WHERE id = 5';
//?
connection.query(userDelSql,function (err, result) {
        if(err){
          console.log('[DELETE ERROR] - ',err.message);
          return;
        }       
 
       console.log('-------------DELETE--------------');
       console.log('DELETE affectedRows',result.affectedRows);
       console.log('&&&&&&&&&&&&&&&&&'); 
});
 
connection.end();

執(zhí)行代碼

執(zhí)行成功

刷新Navicat for mysql玛追,查看數(shù)據(jù)是否已被刪除


查看是否刪除成功
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末税课,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子痊剖,更是在濱河造成了極大的恐慌韩玩,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陆馁,死亡現(xiàn)場離奇詭異找颓,居然都是意外死亡,警方通過查閱死者的電腦和手機叮贩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門击狮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人益老,你說我怎么就攤上這事彪蓬。” “怎么了捺萌?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵档冬,是天一觀的道長。 經(jīng)常有香客問我,道長捣郊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任慈参,我火速辦了婚禮呛牲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘驮配。我一直安慰自己娘扩,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般掰邢。 火紅的嫁衣襯著肌膚如雪牺陶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天掰伸,我揣著相機與錄音,去河邊找鬼怀估。 笑死狮鸭,一個胖子當著我的面吹牛康铭,可吹牛的內(nèi)容都是我干的蒸痹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了忍燥?” 一聲冷哼從身側(cè)響起蔫敲,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吞加,失蹤者是張志新(化名)和其女友劉穎裙犹,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衔憨,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡叶圃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了践图。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掺冠。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖码党,靈堂內(nèi)的尸體忽然破棺而出德崭,到底是詐尸還是另有隱情,我是刑警寧澤揖盘,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布眉厨,位于F島的核電站,受9級特大地震影響兽狭,放射性物質(zhì)發(fā)生泄漏憾股。R本人自食惡果不足惜鹿蜀,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望服球。 院中可真熱鬧茴恰,春花似錦、人聲如沸斩熊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽座享。三九已至婉商,卻和暖如春似忧,著一層夾襖步出監(jiān)牢的瞬間渣叛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工盯捌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留淳衙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓饺著,卻偏偏與公主長得像箫攀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子幼衰,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容