nodejs 操做數據庫學習總結(一)

寫前端的同窗也能夠操做數據進行增刪改查了。前端

一、首先要使用nodejs mysql的開發模塊。node

二、在介紹模塊功能前首先要對數據庫的語句有必定的瞭解。mysql

/******************************************************************************/git

//曾github

INSERT 就是曾加的意思 TNTO 是在哪一個表裏,例如:sql

INSERT INTO userinfo(UserName,UserPass) VALUES("hhhh","bb");數據庫

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

//改安全

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

//查服務器

MySQL中使用 SQL SELECT 命令來讀取數據;socket

SELECT * from userinfo

LIKE 一般與 % 一同使用,相似於一個元字符的搜索。

  • SELECT * from runoob_tbl  WHERE  runoob_author  LIKE  '%jay'

 

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]

下面是加了 where條件的查詢方法

SELECT * from runoob_tbl WHERE runoob_author='Sanjay';

//刪

DELETE FROM table_name [WHERE Clause]

 

以上就是基本的mysql的語法了,接下來上js。

 var mysql = require('mysql');//首先得有mysql.js的模板否則就要報錯了

首先介紹下參數option

    host:主機地址 (默認:localhost)

  user:用戶名

  password:密碼

  port:端口號 (默認:3306)

  database:數據庫名

  charset:鏈接字符集(默認:'UTF8_GENERAL_CI',注意字符集的字母都要大寫)

  localAddress:此IP用於TCP鏈接(可選)

  socketPath:鏈接到unix域路徑,當使用 host 和 port 時會被忽略

  timezone:時區(默認:'local')

  connectTimeout:鏈接超時(默認:不限制;單位:毫秒)

  stringifyObjects:是否序列化對象(默認:'false' ;與安全相關https://github.com/felixge/node-mysql/issues/501

  typeCast:是否將列值轉化爲本地JavaScript類型值 (默認:true)

  queryFormat:自定義query語句格式化方法 https://github.com/felixge/node-mysql#custom-format

  supportBigNumbers:數據庫支持bigint或decimal類型列時,須要設此option爲true (默認:false)

  bigNumberStrings:supportBigNumbers和bigNumberStrings啓用 強制bigint或decimal列以JavaScript字符串類型返回(默認:false)

  dateStrings:強制timestamp,datetime,data類型以字符串類型返回,而不是JavaScript Date類型(默認:false)

  debug:開啓調試(默認:false)

  multipleStatements:是否許一個query中有多個MySQL語句 (默認:false)

  flags:用於修改鏈接標誌,更多詳情:https://github.com/felixge/node-mysql#connection-flags

  ssl:使用ssl參數(與crypto.createCredenitals參數格式一至)或一個包含ssl配置文件名稱的字符串,目前只捆綁Amazon RDS的配置文件

/*/////////////////////////////////////////////////////////

 var mysqlConn = {
  host:'127.0.0.1',
  user:'root',
  password:'111111',  
  port:'3306',
  database:'nodesample'
 };//初始化鏈接mysql的參數

connection.connect(function(err){
    if(err){        
          console.log('[query] - :'+err);
        return;
    }
      console.log('[connection connect]  succeed!');
}); //鏈接服務器
//增長
var  userAddSql = 'INSERT INTO userinfo(Id,UserName,UserPass) VALUES(0,?,?)';//曾
var  userAddSql_Params = ['Wilson', 'abcd'];
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('-----------------------------------------------------------------\n\n');  
});
//查詢
var  userGetSql = 'SELECT * FROM userinfo';
//查
connection.query(userGetSql,function (err, result) {
        if(err){
          console.log('[SELECT ERROR] - ',err.message);
          return;
        }        

       console.log('--------------------------SELECT----------------------------');
       console.log(result);        
       console.log('-----------------------------------------------------------------\n\n');  
});

connection.end();//釋放鏈接

主要用了query的方法;

相關文章
相關標籤/搜索