node+数据库
nodejs + MongoDB
操作MongoDB数据库用 mongoose(ODM 框架,对象文档映射)
nodejs + MySQL
操作MySQL数据库用 Sequelize(ORM 框架,对象关系映射)
参考:https://devpress.csdn.net/mongodb/62ff26f8c677032930804bee.html 或 https://juejin.cn/post/7110964926235836452#heading-3 或 https://zhuanlan.zhihu.com/p/506494924
下面介绍下 使用 MySQL包处理mysql,这里没用用的 ORM 对象映射处理,属于原生的sql语句处理方式。
参考:https://www.cnblogs.com/cth0/p/11680134.html
一、创建数据库 和 表:
1、实际开发中 数据库 和 表的创建 不是通过程序创建的。而是先创建好的,比如 用 Navicat premium 管理工具进行创建。
二、npm 中 mysql包:
1、执行 sql语句的方式:
a、完整的 sql 语句:
var sql = 'SELECT * FROM users WHERE id = 1' // sql 语句是完整的 connection.query(sql, function (error, results, fields) { if (error) throw error; // ... });
b、sql语句,使用 ? 占位:调用sql 语句时,把 占位的值 传进去。 这种方式 便于封装,可以 把一个表中的 增删改查 封装成 公共的 语句。
var sql = 'UPDATE users SET foo = ?, bar = ?, baz = ? WHERE id = ?' // 使用 ? 临时 占位,调用sql 语句时,把 占位的值 传进去。 这种方式 便于封装,可以 把一个表中的 增删改查 封装成 公共的 语句。 connection.query(sql, ['a', 'b', 'c', userId], function (error, results, fields) { if (error) throw error; // ... });
c、使用 connection.query 方法 中 sql 语句 可以 使用 占位 ,实现 对 表的 增删改查的 封装。 https://www.cnblogs.com/tllw/p/9797015.html
// SQL语句封裝 var user = { insert:'INSERT INTO login(username, password, role) VALUES(?,?,?)', update:'UPDATE user SET name=?, age=? WHERE id=?', delete: 'DELETE FROM user WHERE id=?', queryById: 'SELECT * FROM user WHERE id=?', queryAll: 'SELECT * FROM user' }; connection.query(user.insert, [param.id, param.name, param.age], function(err, result) { // ... });
2、