共计 1755 个字符,预计需要花费 5 分钟才能阅读完成。
在 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 key='0'
这样就将 key 从 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