js语句连接mysql数据库_js中require()的用法----JS如何连接数据库执行sql语句或者建立数据库连接池...

var vue = require('vue');

引入vue的意思,commonjs的写法。node都是用require来载入模块的,可以看看webpack+vue。

require()可以调用模块。

这不是就把vue模块命了个名吗?

nodejs的写法,引入vue模块并命名为vue的意思。前端的东西,大多都是跑在nodejs上的,所以引用模块方式就必须按照nodejs标准

===================================================================

mysql权限:http://blog.csdn.net/anzhen0429/article/details/78296814

npm的mysql地址:https://www.npmjs.com/package/mysql

---------------直连mysql-------------

var router = function(app){

app.get('/one', function (req, res) {

res.writeHeader(200, {'Content-Type':'text/plain;charset=UTF-8'});

// res.sendFile("/Users/wofu/Desktop/node/views/one.html");

res.write("ddd");

var mysql=require('mysql');//调用mysql模块

//创建一个connection数据库连接对象

var connection=mysql.createConnection({

host:'localhost',//主机

user:'root',//mysql认证的用户名

password:'123456',//mysql用户密码

database:'firstDB',//数据库名

port:'3306'//端口号

});

//链接数据库

connection.connect(function(err){

if(err){

console.log(err);

return;

}else{

res.write("数据库连接成功");

res.end();

}

});

//插入数据,,update和delete跟insert类似

var name="lamb9";

var ages=30;

var userAddSql='insert into people (name,ages) values(?,?)';

var params=[name,ages];

******加参数的方法,应用于sql语句中有?占位符的情况

connection.query(userAddSql,params,function(err,rs){

if(err){

console.log(err.message);

return;

}else {

console.log("插入成功");

console.log(rs);

}

});

//*****query语句不加第二个参数************************************

var nam="lamb10";

var ag=30;

var userAddSql='insert into people (name,ages) values("lambo10",20)';

connection.query(userAddSql,function(err,rs){

if(err){

console.log(err.message);

return;

}else {

console.log("插入成功");

console.log(rs);

}

});

//删除---query带参数**********************************************

var userdeletSql='delete from people where id=?';

var upparams=6;

connection.query(userdeletSql,upparams,function(err,rs,fields){

if(err){

console.log(err);

return ;

}else{

console.log("删除成功");

}

});

//删除---query不带参数***************************************************

var userdeletSql='delete from people where id=7';

connection.query(userdeletSql,function(err,rs,fields){

if(err){

console.log(err);

return ;

}else{

console.log("删除成功");

}

});

//查询-----query带参数************************************************

var userinsertSql='SELECT *from people where name=?';

var insertparams='lambo';

connection.query(userinsertSql,insertparams,function(err,rs,fields){

if(err){

console.log(err);

return ;

}else{

console.log("查询成功");

for(var i=0;i

console.log(rs);

console.log(rs[0].name);//rs是查询的结果集,是一个二维数组,第一维是一条记录,第二维是一条记录中的各字段值

}

}

});

///qurey不带参数************************************************

var userinsertSql='SELECT *from people where name="lambo"';

connection.query(userinsertSql,function(err,rs,fields){

if(err){

console.log(err);

return ;

}else{

console.log("查询成功");

for(var i=0;i

console.log(rs);

console.log(rs[0].name);//rs是查询的结果集,是一个二维数组,第一维是一条记录,第二维是一条记录中的各字段值

}

}

});

//更新---query带参数**********************************************

var userupdatetSql='update people set ages=? where name=?';

var upparams=[23,"four"];

connection.query(userupdatetSql,upparams,function(err,rs,fields){

if(err){

console.log(err);

return ;

}else{

console.log("更新成功");

}

});

//更新---query不带参数***************************************************

var userupdatetSql='update people set ages=24 where name="four"';

connection.query(userupdatetSql,function(err,rs,fields){

if(err){

console.log(err);

return ;

}else{

console.log("更新成功");

}

});

//关闭连接

connection.end(function(err){

if(err){

console.log(err.toString());

return;

}else{

console.log("关闭连接");

}

});

});

};

exports.router = router;

=======================连接池连接mysql=====================

连接池的原理:初始化的时候创建多个连接,放到数组中存起来;当有访问数据的时候,不用再创建连接,直接从连接池取出连接使用进行各种数据库操作,操作关闭后再放回连接池中;连接池会自动管理池中的连接(当访问量少的时候,会自动减少一些连接,当访问量大的时候会自动增加一些连接);

安装连接池 :1.需要安装mysql:npm install mysql -g   2.需要安装mysqlpool模块npm install -g node-mysql

*********************创建连接池

var router = function(app){

var mysql=require('mysql');//调用mysql模块

app.get('/one', function (req, res) {

// res.sendFile("/Users/wofu/Desktop/node/views/one.html");

res.writeHeader(200, {'Content-Type':'text/plain;charset=UTF-8'});

res.write("ddd");

//***使用连接池操作数据库

var Pool=mysql.createPool({

host:'localhost',//主机

user:'root',//mysql认证的用户名

password:'123456',//mysql用户密码

database:'firstDB',//数据库名

port:'3306'//端口号

});

//有连接时调用

Pool.on('connection', function (connection,err) {

if(err){ console.log(err);

return;}else{res.write("数据库连接成功");

res.end();

}

});

//一个连接上的活动全部执行完时调用

Pool.on('acquire', function (connection) {

console.log('Connection %d acquired', connection.threadId);

});

//等待一个有效队列

Pool.on('enqueue', function () {

console.log('Waiting for available connection slot');

});

//一个连接释放了

Pool.on('release', function (connection) {

console.log('Connection %d released', connection.threadId);

});

// //结束所有连接

// Pool.end(function (err) {

// if (err){

// console.log(err);

// }else {

// console.log("连接全部关闭");

// }

// });

//从链接池中获取一个连接

Pool.getConnection(function(err,connection){

// 执行数据库操作 增删改查和直接连接mysql一样

var userAddSql='insert into people (name,ages) values(?,?)';

var params=['bbb',11];

connection.query(userAddSql,params,function(err,rs){

if(err){

console.log(err.message);

return;

}else{

console.log('insert success');

res.write("成功");

res.end();//这句话表示浏览器相应结束,如果在这句话后继续向浏览器写入会报错,res.write()是错误的;

}

connection.release();//放回连接池

});

});

});

};

exports.router = router;

var router = function(app){

var fs =require('fs');

var http=require('https');

var mysql=require('mysql');//调用mysql模块

var request = require('request');

var url = require('url');

var querystring = require('querystring');

var bodyParser = require("body-parser");

var urlencodedParser = bodyParser.urlencoded({ extended: false })

app.get('/get',function (req, res) {

// console.log(req.query);//{ name: 'lambo' }

// console.log(req.query.name);//lambo

// console.log(req.url);///one?name=lambo

// console.log(url.parse(req.url).pathname);// /one

// console.log(url.parse(req.url).query);// name=lambo

// app.post('/one',urlencodedParser,function (req, res) {

//text/html,application/json", @"text/json", @"text/javascript",@"text/html",

//@"text/xml", @"text/plain; charset=utf-8",image/png

// res.writeHeader(200, {'Content-Type':'image/png;charset=UTF-8'});

res.writeHeader(200, {'Content-Type':'text/html;charset=UTF-8'});

// res.writeHeader(200, {'Content-Type':'application/json;charset=UTF-8'});

// 输出 JSON 格式

var json = JSON.stringify({

"msg":"成功",

result:[{

"name":"新闻",

"site":"http:www.baidu.com"

},{

"name":"新手教程",

"site":"csdnnnn"

}],

"status":"1"

}

);

console.log(json);

res.write(json);

res.end(json);

//***使用连接池操作数据库

var Pool=mysql.createPool({

host:'localhost',//主机

user:'root',//mysql认证的用户名

password:'123456',//mysql用户密码

database:'firstDB',//数据库名

port:'3306'//端口号

});

//

Pool.on('connection', function (connection,err) {

if(err){

console.log(err);

return;

}else{

// res.write("数据库连接成功");

// res.end();

}

});

//

//监听----获得一个连接时调用

Pool.on('acquire', function (connection) {

console.log('Connection %d acquired', connection.threadId);

});

//等待一个有效队列

Pool.on('enqueue', function () {

console.log('Waiting for available connection slot');

});

//一个连接释放了

Pool.on('release', function (connection) {

console.log('Connection %d released', connection.threadId);

});

// //结束所有连接

// Pool.end(function (err) {

// if (err){

// console.log(err);

// }else {

// console.log("连接全部关闭");

// }

// });

//从链接池中获取一个连接

Pool.getConnection(function(err,connection){

// // *************执行数据库操作 增删改查和直接连接mysql一样

// //插入,query加占位

// var userAddSql='insert into people (name,age,birthday) values(?,?,?)';

// var params=['bbb',11,new Date()];

// connection.query(userAddSql,params,function(err,rs){

// if(err){

// console.log(err.message);

// return;

// }else{

// console.log('insert success');

//

//

// var json = JSON.stringify({

// "msg":"成功",

// result:[{

// "name":"新闻",

// "site":"http:www.baidu.com"

// },{

// "name":"新手教程",

// "site":"csdnnnn"

// }],

// "status":"1"

// }

// );

//

// res.write(json);

// res.end();

// }

// });//****************

// //******插入,query不加占位,直接写参数

// var nam="lamb10";

// var ag=30;

// var userAddSql='insert into people (name,age,birthday) values("nam",21,now())';

// connection.query(userAddSql,function(err,rs){

// if(err){

// console.log(err.message);

// return;

// }else {

// console.log("插入成功");

// console.log(rs);

// }

// });//*********

// //*****删除---query加占位**********************************************

// var userdeletSql='delete from people where id=?';

// var upparams=269;

// connection.query(userdeletSql,upparams,function(err,rs,fields){

// if(err){

// console.log(err);

// return ;

// }else{

// console.log("删除成功");

//

// }

// });//**************

//

// //删除---query不加占位**************************************************

// var userdeletSql='delete from people where id=7';

// connection.query(userdeletSql,function(err,rs,fields){

// if(err){

// console.log(err);

// return ;

// }else{

// console.log("删除成功");

//

// }

// });//*************

//

// //查询-----query带占位************************************************

// var userinsertSql='SELECT *from people where name=?';

// var insertparams='lambo2';

// connection.query(userinsertSql,insertparams,function(err,rs,fields){

// if(err){

// console.log(err);

// return ;

// }else{

// console.log("查询成功");

// for(var i=0;i

// console.log(rs);

// console.log(rs[0].name);//rs是查询的结果集,是一个二维数组,第一维是一条记录,第二维是一条记录中的各字段值

// }

// }

// });//**********************

//

//

// ///查询----不带占位************************************************

// var userinsertSql='SELECT *from people where name="bbb"';

// connection.query(userinsertSql,function(err,rs,fields){

// if(err){

// console.log(err);

// return ;

// }else{

// console.log("查询成功");

// for(var i=0;i

// console.log(rs);

// console.log(rs[0].name);//rs是查询的结果集,是一个二维数组,第一维是一条记录,第二维是一条记录中的各字段值

// }

// }

// });//***************************

//

// //更新---带占位**********************************************

// var userupdatetSql='update people set age=? where name=? and id=?';

// var upparams=[23,"lambo2",3];

// connection.query(userupdatetSql,upparams,function(err,rs,fields){

// if(err){

// console.log(err);

// return ;

// }else{

// console.log("更新成功");

//

// }

// });//*******************

//

// //更新---不带占位***************************************************

// var userupdatetSql='update people set age=24 where name="lambo2" and id=11';

// connection.query(userupdatetSql,function(err,rs,fields){

// if(err){

// console.log(err);

// return ;

// }else{

// console.log("更新成功");

//

// }

// });//******************

// //关闭当前的连接连接

// connection.end(function(err){

// if(err){

// console.log(err.toString());

// return;

// }else{

// console.log("关闭连接");

// }

// });

connection.release();//放回连接池

});//poolconnect

});//get请求

};

exports.router = router;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(DFS)迷宫问题

题目: 从s到t,.意味着可以走,*意味着不能走,如果能走,输出路径,如果不能走,输出no。 输入: 5 6 ....S* .***.. .*..*. *.***. .T....输出: ....m* …

惠普z6计算机进不去桌面,HP Z6 桌面工作站 | HP® HK 惠普香港

Intel、Thunderbolt 及 Xeon 均為 Intel Corporation 於美國及/或其他國家或地區的商標。Microsoft 及 Windows 為 Microsoft Corporation 於美國及/或其他國家或地區的註冊商標或商標。NVIDIA 是 NVIDIA Corporation 在美國及其他國家或地區的商標及/或註冊商標。USB Type-C™…

mysql定义条件和处理_mysql sql存储过程条件定义与处理

一、条件定义DECLARE condition_name CONDITION FOR condition_valecondition_value:sqlstate[value] sqldata_value |mysql教程_error_code二、条件处理DECLARE htype HANDLER FOR cond_value[...] sp_statementhandtype_value:sqlstate [value] saltate_value|contentname|sq…

(DFS)跳马

题目: 马走日,不考虑别马脚,问马能否从S走到T,其中‘#’表示不能落下,‘.’表示能落下 输入: .#....#S# ..#.#.#.. ..##.#..# ......##. ...T..... ...#.#... ...#..... ...###... ......... .##......输…

长沙医学院学位计算机考试内容,湖南长沙医学院2017年9月计算机等级考试报名时间...

长沙医学院2017年下半年第49次全国计算机等级考试(以下简称NCRE)将于2017年9月23至25日举行。为做好本次考试报名及相关考务工作,现将有关事项通知如下:一、报名时间:2016年6月7日—2016年6月18日,逾期不接受任何理由的补报名。二…

(递推)常用递推式总结及实现

常用递推式 后面问题的解可以由前面问题的解递推而来,每一项都与前面若干项有一定关联。它是一种用若干步可以重复的简单运算来描述复杂问题的方法。 爬楼梯和兔子问题和斐波那契:f(n)f(n−1)f(n−2);f(1)1,f(2)1f(n)f(n-1)f(n-2) ; f(1)1,f(2)1 f(n)f…

mysql建表语句utf-8_mysql 创建utf-8数据集

之前数据库都是默认的‘latin1 ’,由于业务需求,需要把数据集修改为utf-8(1)创建一个新的数据库,并设置默认的格式为utf-8CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;(2) 将这个yourdbname 数据…

html读取servlet,简单html与servlet交互(HTML利用servlet读取txt)

1.usercheck.htmlhref"../lib/ligerUI/skins/Aqua/css/usertext.css" rel"stylesheet"type"text/css" />填写用户名/>id"verifyButton"/>>2.usertext.css.userClass {border: 1px solid red ;background-image:url(../../…

mysql dnslog_dnslog小技巧

一、dnslog利用场景主要针对无回显的情况。Sql-BlindRCESSRFRFI(Remote File Inclusion)二、原理将dnslog平台中的特有字段payload带入目标发起dns请求,通过dns解析将请求后的关键信息组合成新的三级域名带出,在ns服务器的dns日志中显示出来。三、案例展…

卷积积分

文章目录卷积积分信号的时域分解卷积公式卷积积分定义卷积积分图解法:卷积的性质:常用卷积重要公式卷积求解方法用梳状函数卷积产生周期信号矩形脉冲的卷积产生三角形和梯形脉冲自相关互相关函数定义相关与卷积卷积积分 本质:信号分解 f(t)…

2019哈佛计算机专业录取,2019哈佛大学早申请录取数据公布 录取率再降1个点仅为13.4%...

出结果了,出结果了,作为美国在全球范围内最负盛名的哈佛大学,与近日公布2019美国本科申请提前录取的相关数据。今年哈佛大学本科学院向6,968位在2023届提前录取轮次申请人中的935位发出了录取通知,申请录取率约为13.4%&#xff0c…

mysql master 监控_可用于监控 mysql Master Slave 状态的python代码

代码如下:import osimport sysimport MySQLdbdef getStatus(conn):query ” SHOW SLAVE STATUS “# print querycursor conn.cursor()cursor.execute(query)result cursor.fetchall()return result[0]def resolve(conn):cursor conn.cursor()query1 “set global sql_slav…

python类和oop基础知识

文章目录oop:面向对象程序设计python类的特点:oop基本概念:1.属性继承搜索:2.类和实例:3.类方法调用4.编写类树5.代码重用oop:面向对象程序设计 1.类:一些函数的包,这些函数大量使用并处理内置对象类型。 2.类的设计…

计算机语言中tc是什么,新人必须了解的几个TC常用语和脚本基础知识!

基础知识TC常用语一,函数在百度百科中是这样解释函数的:函数(function)表示每个输入值对应唯一输出值的一种对应关系。在计算机定义中函数过程中的这些语句用于完成某些有意义的工作——通常是处理文本,控制输入或计算数值。通过在程序代码中引入函数名称和所需的参…

mysql中pi是什么意思_MySQL 基础知识与常用命令

MySQLMySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Inte…

科幻计算机类小说,短篇科幻小说推荐 | 黄金时代的五部科幻杰作

编注:本文是少数派读书月「我读过的好书」征文活动的入围文章。本文仅代表作者本人观点,少数派对标题和排版略作调整。想了解如何参与本次读书征文,赢取各种丰厚奖品,你可以 点此查看 活动规则和奖品清单。文章包含五个故事的情节…

数据结构:单链表

文章目录链表:单链表的实现及操作:1.指针描述的单链表L存储结构2.查找L的第i个元素,将其值赋值给e3.在L的第i个位置之前插入元素e4.在L中,删除第i个元素,并返回其值e5.输入n个元素,建立带头节点的单链表L6.…

mysql离散查询_如何写出高性能的MySQL查询

作者:会写代码的猪 发布时间:December 25, 2009 分类:猪在写代码想写这样一篇文章很久了,但始终没有下手。最近帮同事看了几个查询,而且自己也在考虑一个索引系统的问题,所以今天就把这个写了。介绍一下MyS…

计算机中丢失msc,mscvr120.dll32位/64位版_修复计算机中丢失msvcr120.dll

mscvr120.dll32位/64位版_修复计算机中丢失msvcr120.dllmscvr120.dll是系统的非常重要的一个文件,相信很多的人都是遇到文件丢失的情况,这个时候就需要你在下载一个dll文件使用了!现在就为大家提供最新的dll文件下载,需要的可以看…

mysql解压缩版配置_MySQL 5.6 for Windows 解压缩版配置安装

1、MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\Program Files\MySQL\MySQL Server 5.6 该…