摘要:地址所以下面是连接连接使用的内容作者依旧在维护安装地址地址文档地址查看一些文档的时候需要在这里查看连接数据库由于本地已经有了。
JXcore作者已经不维护了。
github地址 https://github.com/jxcore/jxcore
所以下面是Node.js连接Mysql
Node.js 连接Mysql
使用的内容作者依旧在维护
PS C:UsersmingmDesktop est> npm install mysql --save npm WARN saveError ENOENT: no such file or directory, open "C:UsersmingmDesktop estpackage.json" npm WARN enoent ENOENT: no such file or directory, open "C:UsersmingmDesktop estpackage.json" npm WARN test No description npm WARN test No repository field. npm WARN test No README data npm WARN test No license field. + mysql@2.16.0 updated 1 package and audited 296 packages in 2.366s found 0 vulnerabilities PS C:UsersmingmDesktop est>
npm地址 https://www.npmjs.com/package...
github 地址 https://github.com/mysqljs/mysql
文档地址 https://www.npmjs.com/package... 查看一些文档的时候需要在这里查看
由于本地已经有mysql了。
PS C:UsersmingmDesktop est> node test.js The solution is: 2
var mysql = require("mysql"); var connection = mysql.createConnection({ host: "student.iming.info", // 连接的服务器 user: "root", // 用户名 password: "********", // 用户密码 database: "ming" // 选择的库 }); connection.connect(); // 创建一个mysql的线程 connection.query("SELECT 1 + 1 AS solution", (err, results, fields) => { if (err) { throw err; }; console.log("The solution is:", results[0].solution); // 返回第一条记录的solution列的内容 });
好啦。这就完成了一次连接,使用的是npm下载的mysql模块,使用的是c++语言编写的
数据库操作PS C:UsersmingmDesktop est> node test.js ------------SELECT------------- [ RowDataPacket { id: 1, name: "Google", url: "https://www.google.cm/", alexa: 1, country: "USA" }, RowDataPacket { id: 2, name: "淘宝", url: "https://www.taobao.com/", alexa: 13, country: "CN" }, RowDataPacket { id: 3, name: "微博", url: "http://weibo.com/", alexa: 20, country: "CN" }, RowDataPacket { id: 5, name: "Facebook", url: "https://www.facebook.com/", alexa: 3, country: "USA" } ] --------------------------------
var mysql = require("mysql"); var connection = mysql.createConnection({ host: "student.iming.info", // 连接的服务器 user: "root", // 用户名 password: "******************", // 用户密码 database: "ming" // 选择的库 }); connection.connect(); // 创建一个mysql的线程 // 推荐查询语句使用大写。方便分辨和后期的维护 var sql = "SELECT * FROM websites"; // sql命令 connection.query(sql, (err, results, fields) => { // results 为查询的结果 fields 为返回的信息 if (err) { console.log("[SELECT ERROR] -", err.message); return; }; console.log("------------SELECT-------------"); console.log(results); // 输出查询的结果 console.log("--------------------------------"); });
下面该是数据库的原子操作了。即CULD
插入数据PS C:UsersmingmDesktop est> node test.js ------------------INSERT-------------------------- INSERT ID OkPacket { fieldCount: 0, affectedRows: 1, insertId: 6, serverStatus: 2, warningCount: 0, message: "", protocol41: true, changedRows: 0 } ------------------------------------------------- PS C:UsersmingmDesktop est>
var mysql = require("mysql"); var connection = mysql.createConnection({ host: "student.iming.info", // 连接的服务器 user: "root", // 用户名 password: "*******************", // 用户密码 database: "ming" // 选择的库 }); connection.connect(); // 创建一个mysql的线程 var addSql = "INSERT INTO websites(id, name, url, alexa, country) VALUES(0, ?, ?, ?, ?)"; // 创建一个通用的sql,并预留出填补的空位 var addSqlParams = ["mySoul", "https://www.iming.info", "0000000", "CN"]; connection.query(addSql, addSqlParams, (err, result) => { if(err){ console.log("[INSERT ERROR] -", err.message); return; } console.log("------------------INSERT--------------------------") console.log("INSERT ID", result); console.log("------------------------------------------------- "); });
登陆数据库查看
mysql> select * from websites; +----+----------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+----------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 6 | mySoul | https://www.iming.info | 0 | CN | +----+----------+---------------------------+-------+---------+ 5 rows in set (0.02 sec) mysql>
很明显已经插入完成
亲,如果数据库ID设置了自动递增,即使用了AUTO_INCREMENT,建议使用自增,因为数据库索引是B+树的加快查询速度。所以一般都设置自增序列删除数据关于JSON 因为数据通信是使用JSON的,所以两个方法,一个JSON转对象 JSON.parse
对象转JSON JSON.stringify
在加上一个node的框架Express,即可完成和浏览器的交互,这样就完成一个web服务器的搭建
var mysql = require("mysql"); var connection = mysql.createConnection({ host: "student.iming.info", // 连接的服务器 user: "root", // 用户名 password: "*********************", // 用户密码 database: "ming" // 选择的库 }); connection.connect(); // 创建一个mysql的线程 var delSql = "DELETE FROM websites WHERE id=6"; connection.query(delSql, (err, result) => { if(err) { console.log("[DELETE ERROR] -", err.message); return; } console.log("------------DELETE------------------"); console.log("DELETE affectedRows", result); console.log("------------------------------------"); }) connection.end();
PS C:UsersmingmDesktop est> node test.js ------------DELETE------------------ DELETE affectedRows OkPacket { fieldCount: 0, affectedRows: 1, insertId: 0, serverStatus: 2, warningCount: 0, message: "", protocol41: true, changedRows: 0 } ------------------------------------ PS C:UsersmingmDesktop est>博客
www.iming.info
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/96450.html
摘要:连接说到,可能大家会想到作为数据库,这里将会介绍与的连接,并分享了封装好的实例代码,在项目开发中可直接使用。操作查询添加删除更新结束连接这两种都行,第二种是强制结束。 showImg(https://segmentfault.com/img/bVbaIlR?w=900&h=500); Node连接Mysql 说到node,可能大家会想到MOngoDB作为数据库,这里将会介绍node与m...
摘要:连接说到,可能大家会想到作为数据库,这里将会介绍与的连接,并分享了封装好的实例代码,在项目开发中可直接使用。操作查询添加删除更新结束连接这两种都行,第二种是强制结束。 showImg(https://segmentfault.com/img/bVbaIlR?w=900&h=500); Node连接Mysql 说到node,可能大家会想到MOngoDB作为数据库,这里将会介绍node与m...
阅读 2322·2023-04-26 00:28
阅读 3067·2019-08-30 15:55
阅读 2741·2019-08-30 12:47
阅读 1549·2019-08-29 11:04
阅读 3149·2019-08-28 18:14
阅读 945·2019-08-28 18:11
阅读 1670·2019-08-26 18:36
阅读 3382·2019-08-23 18:21