当前位置: 首页 > 后端技术 > Node.js

Node连接mysql数据库

时间:2023-04-03 19:44:00 Node.js

JXcore作者不再维护。github地址是https://github.com/jxcore/jxcore所以下面是Node.js连接Mysql使用的内容Node.js连接Mysql作者还在维护安装PSC:\Users\mingm\Desktop\test>npminstallmysql--savenpmWARNsaveErrorENOENT:nosuchfileordirectory,open'C:\Users\mingm\Desktop\test\package.json'npmWARNenoentENOENT:nosuchfileordirectory,打开'C:\Users\mingm\Desktop\test\package.json'npmWARNtest无描述npmWARNtest无存储库字段.npmWARNtest无READMEdatanpmWARNtest无许可证字段。+mysql@2.16.0updated1包并审核296packagesin2.366s发现0个漏洞PSC:\Users\mingm\Desktop\test>npm地址https://www.npmjs.com/package...github地址https://github.com/mysqljs/mysql文档地址https://www.npmjs.com/package...查看一些文档的时候,这里需要查看连接数据库,因为本地已经有mysql了。PSC:\Users\mingm\Desktop\test>nodetest.js解决办法是:2varmysql=require('mysql');varconnection=mysql.createConnection({host:'student.iming.info',//connectionServeruser:'root',//用户名password:'*********',//用户密码database:'ming'//selectedlibrary});connection.connect();//创建一个mysql线程connection.query('SELECT1+1ASsolution',(err,results,fields)=>{if(err){throwerr;};console.log('Thesolutionis:',results[0].solution);//返回第一条记录的solution列的内容});好的。这样就完成了一次连接,使用npm下载的mysql模块,使用数据库操作PSC:\Users\mingm\Desktop\test>nodetest.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'}]---------------------------------varmysql=require('mysql');varconnection=mysql.createConnection({host:'student.iming.info',//连接服务器用户:'root',//用户名密码:'*******************',//用户密码database:'ming'//选择的库});connection.connect();//创建一个mysql线程//建议Query语句使用大写。方便识别和后期维护varsql='SELECT*FROMwebsites';//sqlcommandconnection.query(sql,(err,results,fields)=>{//results为查询结果字段为返回信息if(err){console.log('[SELECTERROR]-',err.message);return;};console.log('------------SELECT-------------');console.log(results);//输出查询结果console.log('------------------------------');});下面是数据库的原子操作。即CULD插入数据PSC:\Users\mingm\Desktop\test>nodetest.js----------------INSERT--------------------------插入IDOkPacket{fieldCount:0,affectedRows:1,insertId:6,serverStatus:2,warningCount:0,message:'',protocol41:true,changedRows:0}-----------------------------------------------PSC:\Users\mingm\Desktop\test>varmysql=require('mysql');varconnection=mysql.createConnection({host:'student.iming.info',//连接的服务器user:'root',//用户名password:'********************',//用户密码database:'ming'//所选库});connection.连接();//创建一个mysql线程varaddSql='INSERTINTOwebsites(id,name,url,alexa,country)VALUES(0,?,?,?,?)';//创建一个通用的sql,并留出空格填充varaddSqlParams=['mySoul','https://www.iming.info','0000000','CN'];connection.query(addSql,addSqlParams,(err,result)=>{if(err){console.log('[INSERTERROR]-',err.message);return;}console.log('----------------INSERT----------------------------')console.log('INSERTID',结果);console.log('------------------------------------------------\n\n');});登录数据库查看mysql>select*fromwebsites;+----+---------+------------------------+--------+--------+|编号|姓名|网址|亚历克萨|国家|+----+----------+----------------------------+-------+--------+|1|谷歌|https://www.google.cm/|1|美国||2|淘宝|https://www.taobao.com/|13|中国||3|微博|http://weibo.com/|20|中国||5|脸书|https://www.facebook.com/|3|美国||6|//www.iming.info|0|CN|+----+----------+--------------------------+--------+--------+5rowsinset(0.02sec)mysql>很明显插入已经完成。如果数据库ID设置为自增,即使使用AUTO_INCREMENT,也建议使用自增,因为数据库索引是B+树,加快查询速度所以自增序列一般都是针对JSON设置的,因为数据通信使用的是JSON,所以有两种方法,一种是JSON对象JSON。与浏览器交互,完成Web服务器的构建和删除数据varmysql=require('mysql');varconnection=mysql.createConnection({host:'student.iming.info',//connectedserveruser:'root',//用户名password:'************************',//passworddatabase:'ming'//selecteddatabase});connection.连接();//创建一个mysql线程vardelSql='DELETEFROMwebsitesWHEREid=6';connection.query(delSql,(err,result)=>{if(err){console.log('[DELETEERROR]-',err.message);return;}console.log('------------DELETE-------------------');console.log('DELETEaffectedRows',result);console.log('--------------------------------------');})connection.end();PSC:\Users\mingm\Desktop\test>nodetest.js------------删除---------------DELETEaffectedRowsOkPacket{fieldCount:0,affectedRows:1,insertId:0,serverStatus:2,warningCount:0,mes鼠尾草:'',protocol41:真,changedRows:0}------------------------------------PSC:\Users\mingm\Desktop\test>博客www.iming.info