nodejs简单访问及 *** 作mysql数据库的方法示例

nodejs简单访问及 *** 作mysql数据库的方法示例,第1张

本文实例讲述了nodejs简单访问及 *** 作mysql数据库的方法。分享给大家供大家参考,具体如下:

var

mysql

=

require('mysql')

//调用MySQL模块

mysql模块要安装

$

npm

install

mysql

//创建一个connection

var

connection

=

mysql.createConnection({

host

:

'127.0.0.1',

//主机

user

:

'root',

//MySQL认证用户名

password

:

'',

//MySQL认证用户密码

port:

'3306',

//端口号

database:''

//数据库名

})

//创建一个connection

connection.connect(function(err){

if(err){

console.log('[query]

-

:'+err)

return

}

console.log('[connection

connect]

succeed!')

})

//执行SQL语句

connection.query('SELECT

1

+

1

AS

solution',

function(err,

rows,

fields)

{

if

(err)

{

console.log('[query]

-

:'+err)

return

}

console.log('The

solution

is:

',

rows[0].solution)

})

//关闭connection

connection.end(function(err){

if(err){

return

}

console.log('[connection

end]

succeed!')

})

注:nodejs在 *** 作数据库的时候不用设置数据库的编码格式

set

names

utf8

希望本文所述对大家nodejs程序设计有所帮助。

您可能感兴趣的文章:nodejs连接mysql数据库简单封装示例-mysql模块nodejs进阶(6)—连接MySQL数据库示例nodejs实现的连接MySQL数据库功能示例Nodejs连接mysql并实现增、删、改、查 *** 作的方法详解nodeJs实现基于连接池连接mysql的方法示例nodejs中 *** 作mysql数据库示例NodeJS链接MySql数据库的 *** 作方法Nodejs使用mysql模块之获得更新和删除影响的行数的方法NodeJs使用Mysql模块实现事务处理实例nodejs连接mysql数据库及基本知识点详解

nodejs数据存mongodb:

首先创建数据库保存用户信息

数据库创建名 users 集合并插入条用户信息前没 users 集合mongodb 直接创建

>db.users.insert( { "userId":1, "name":"tom", "email":"tom@nodejs.org" })

查找信息使用 find 或者 findOne区别于 findOne 返结

db.users.findOne( {"userId": 1})

返结:

{

"_id" : ObjectId("5413be6e9e1c9f9c4386756d"),

"userId" : 1,

"name" : "tom",

"email" : "tom@nodejs.org"

}

驱程序

编辑 package.json, 添加于 mongodb 引用

{

"name": "express-api",

"version": "0.0.1",

"dependencies": {

"express": "2.5.9",

"ejs": "0.4.2",

"mongodb": "1.4.1"

}

}

重新 npm install 安装 mongodb 驱

使用 MongoDB 数据库

修改代码首先 require mongodb 模块连接 mongodb 数据库

var mongo = require("mongodb")

var express = require("express")

var app = express.createServer()

app.set("view engine", "ejs")

app.set("views", __dirname + "/views")

app.set("view options", { layout: false })

app.get("/", function (request, response) {

response.render("index")

})

app.get("/user/:id", function (request, response) {

var id = request.params.id

console.log(id)

app.users.findOne({ "userId": +id }, function (error, doc) {

if (error) return next(error)

response.json(doc)

})

})

// connect mongodb

var server = new mongo.Server("127.0.0.1", 27017)

var db = new mongo.Db("members", server, {safe:true }).open(function (error, client) {

if (error) throw error

console.log("\033[96m + \033[39m connected to mongodb")

app.users = new mongo.Collection(client, "users")

client.ensureIndex("users", "userId", function (error) {

if (error) throw error

console.log("\033[96m + \033[39m ensured index.")

console.log("Web Server listening ......")

app.listen(3000)

})

})

注意现数据库查找用户id 前面 + 用表单字符串类型数据转换需要数字类型

app.users.findOne({ "userId": +id }, function (error, doc) {

if (error) return next(error)

response.json(doc)

})

首先是登陆腾讯云,登陆之后可以领取新手礼包,如图

进入云产品->数据库->CDB for MYSQL->立即选购,选购最低配的可用礼包抵扣使用一个月,购买完成

主页->右上角产品管理->使用中的数据库,这时我们会看见一个实例,首先我们进入管理页面对实例进行一些基本的设置

实例名可以随意更改,外网地址必须开启,否则我们就不能在自己的项目中和本地访问云数据库。进入账号管理页面修改自己的root密码,然后点击右上角的登录数据库

登陆完成之后如下图

这个和本地客户端 *** 作基本相同,我就不详细阐述了

   二、使用一个demo来说明如何 *** 作云mysql数据库

1.在实例上上新建一个为nodejs的数据库,然后新建一个为employee的表,新建四个字段 name  sex   age   email除了年龄为int其它的全部为varchar格式

2.新建一个TimLiu的文件夹,打开cmd,cd TimLiu, 初始化项目npm init ,按照它的提示一步一步的 *** 作即可,安装mysql模块,npm insitall mysql, 这个模块的作用主要是连接mysql数据库。

3.新建一个model.js 文件,

   var mysql = require(‘mysql’)

   var connection = mysql.createConnection({

           host:'',

           user:'root',

           password:'123abc',

           database:' nodejs',

           port:6445

          })

connection.connect()

这里的host为我们在腾讯云上开通的外地址,端口号也是在外网地址里面,注意要把外网地址写分开,用户为默认的管理员用户,密码为我们在云平台上设置的密码,数据库为我们创建的nodejs数据库。

接下来我们对数据库进行增删改查 *** 作

/**

* 增加员工

*/function addEmployee(){

   var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)'

   var employeeInsertSql_Params = ['Tim','男',22,'18818216454@163.com']

   connection.query(employeeInsertSql,employeeInsertSql_Params,function(err,result){

       if(err) console.log('[INSERT ERR]-',err.message)

       console.log(result)

   }) }addEmployee()

 }

/**

* 更新员工

*/

function insertEmployee(){

   var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?"

   var employeeUpdateSql_Params = ['Peter',22]

   connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

       if(err) console.log('[UPDATE ERR]-',err.message)

       console.log(result)

   })}

insertEmployee()

/**

*查询员工

*/  function getEmployee(){

   var employeeGetSql = "SELECT * FROM employee"

   connection.query(employeeGetSql,function(err,result){

       if(err) console.log('[SELECT ERR]-',err.message)

       console.log(result)

   })}

getEmployee()

/**

*删除员工

*/  function deleteEmployee(){

   var employeeDeleteSql = "DELETE employee WHERE name = ?"

   var employeeDeleteSql_Params = 'Peter'

   connection.query(employeeDeleteSql,employeeDeleteSql_Params,function(err,result){

       if(err) console.log('[DELETE ERR]-',err.message)

       console.log(result)

   })

   }deleteEmployee()

这样我们就可以愉快的 *** 作数据库了

如果大家想把项目更模块化 *** 作,可在model下面新建一个employee_two.js,代码如下

var mysql = require('mysql')var connection = mysql.createConnection({

   host:'',

   user:'root',

   password:'',

   database:'nodejs',

   port:})connection.connect()/**

* 增加员工

* @param {String} employee

* @param {Function} callback

*/exports.addEmployee=function(employee,callback){

   var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)'

   var employeeInsertSql_Params = [employee.name,employee.sex,employee.age,employee.email]

   connection.query(employeeInsertSql,employeeInsertSql_Params,callback)}/**

* 更新员工

* @param {String} employee

* @param {Function} callback

*/exports.updateEmployee = function(name,age){

   var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?"

   var employeeUpdateSql_Params = ['Peter',22]

   connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

       if(err) console.log('[UPDATE ERR]-',err.message)

       console.log(result)

   })}/**

* 查询员工

*

*/exports.getEmployee = function(){

   var employeeGetSql = "SELECT * FROM employee"

   connection.query(employeeGetSql,callback)}/**

* 删除员工

* @param {String} name

*/exports.deleteEmployee = function(name){

   var employeeDeleteSql = "DELETE employee WHERE name = ?"

   var employeeDeleteSql_Params = 'Peter'

   connection.query(employeeDeleteSql,employeeDeleteSql_Params,callback)

   }再在根目录下新建index.js,代码如下var db = require('./model/employee_two')//增加员工var employee = {

   name:'lisa',

   age:22,

   sex:"女",

   email:'99533212@qq.com'}db.addEmployee(employee,function(err,result){

   if(err) console.log("[INSERT err]-",err.message)

   console.log(result)})//删除员工db.deleteEmployee('Peter',function(err,result){

   if(err) console.log("[DELETE err]-",err.message)

   console.log(result)})//更新员工db.updateEmployee('Tim',23,function(err,result){

   if(err) console.log("[UPDATE err]-",err.message)

   console.log(result)})//查询员工db.getEmployee(function(err,result){

   if(err) console.log("[GET err]-",err.message)

   console.log(result)})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6729645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存