进修NodeJS链接MySql(二)

在Node中链接MySql的要领

在Node中链接MySql有两种要领,一种是用Pool,一种是用Connection

起首放出个代码模板

/** 数据库查询
 * 1、链接数据库
 * 2、猎取链接,衔接可以失利
 */
var mysql = require('mysql');
// console.log(mysql);

//这是后端链接数据库的线
//                          数据库地点:当地    用户名:root    暗码:123456    数据库名:20190603    -port(端口):可以改
var pool = mysql.createPool({'host':'localhost','user':'root','password':'123456' ,'database':'20190605'}); 
// console.log(pool);

// pool.connect();

//异步链接数据库
//猎取链接,可以失利,在connection.query 中写sql 语句
pool.getConnection(function(err, connection){
    if(err) {
        console.log('衔接失利'+err);
    }else {
        //                关键字    关键字  表名     处置惩罚要领
        connection.query('SELECT * FROM `user`;', function(err, data){
            if(err) {
                console.log(err);
            }else {
                console.log(data);
                connection.end();
            }
        })
    }
})

Connection要领

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'test'
});
 
connection.connect();
 
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0].solution);
});

MySql的增编削查

增:

INSERT INTO `表名` (`key`,`key2`,...) VALUES("value","value2",...);
这里要注重的是,表名和key值括起来的不是单引号,而是右上角esc键下方的 `,需要在英文输入下输入

删:

DELETE FROM `表名`
注重:假如直接输入这行的话是删除全部数据库,假如一不小心真的删除了就跑路吧
那末怎样才精准删除我们所想删的呢 – where关键字可以协助我们精准定位。

DELETE FROM `表名` WHERE 'key'='value'
假定key值是ID,user,passvalue值是0,user,123那末删除这行用其特定的唯一的其他行数据没有的值来做挑选前提就可以了,假定ID为0是其他行数据没有的唯一存在,那末
DELETE FROM `表名` WHERE `ID`='0';就可以删除这一行数据了

改:

UPDATE `表名` SET key='new value' WHERE key='value'
一样假定其转变的值有唯一的key值,key=ID,value=0;
`UPDATE `表名` SET ID='1' WHERE ID='0'
如许就将ID从0改成1了。

查:

SELECT * FROM `表名`
星号的意义是一切,这句话意义为查询一切key,也就是把表单一切keyvalue打印出来
一样的,应用关键字WHERE可以完成精准查询。
SELECT user,pass FROM `user
这句话的意义是想查询user与pass的数据,想用多个key做查询前提增添特定性的话多个key中心用逗号离开
SELECT user,pass FROM `user` WHERE user="bill"
想查询user与pass,而且user的值为bill的数据

固然,sql语句支撑一些运算符,可以查询某个局限的值

SELECT * FROM `user` WHERE `password`>100
SELECT * FROM `user` WHERE `password`!=0

‘与’子句(&&) => AND

AND 和 与JS的(&&)标记一样 一切AND 后的前提都必须满足
SELECT key,key2 FROM `tabName` WHERE key=" " AND key2=""

‘或’子句(||) => OR

OR 和 JS的(||)标记一样 一切OR 后的前提无足轻重
SELECT key,key2 FROM `tabName` WHERE key="" OR key2=""

    原文作者:Bill
    原文地址: https://segmentfault.com/a/1190000019415057
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞