学习NodeJS连接MySql(二)

在Node中连接MySql的方法

在Node中连接MySql有两种方法,一种是用Pool,一种是用Connectionmysql

首先放出个代码模板sql

/** 数据库查询
 * 一、连接数据库
 * 二、获取连接,链接可能失败
 */
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了。ui


查:

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的数据code

固然,sql语句支持一些运算符,能够查询某个范围的值get

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=""io

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

OR 和 JS的(||)符号同样 全部OR 后的条件无关紧要
SELECT key,key2 FROM `tabName` WHERE key="" OR key2=""console

相关文章
相关标签/搜索