在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,pass
value值是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
,也就是把表单一切key
与value
打印出来
一样的,应用关键字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=""