Nodejs介绍

一.Node.js应用

介绍:简单的说 Node.js 就是运行在服务端的 JavaScript。

​ Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。

​ Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。

先了解下 Node.js 应用是由哪几部分组成的:

  1. 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
  2. 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
  3. 接收请求与响应请求: 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。

创建Node.js应用:

步骤一:引入 required 模块

我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:

let http = require("http");

步骤二:创建服务器

​ 接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 3000 端口。 函数通过 request, response 参数来接收和响应数据。

实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:

// 1.引入http模块
let http = require("http");
//2.创建服务
let server = http.createServer((request,response)=>{
        response.end("hello world 2022")
})
//3.监听3000端口
server.listen(3000)

console.log("服务器已经启动,3000");

以上代码我们完成了一个可以工作的 HTTP 服务器。

使用 node 命令执行以上的代码:

$ node server.js

接下来,打开浏览器访问localhost:3000/,就会看到一个写着“hello world 2022”的网页。

二.Node.js 原生连接 MySQL

​ 因为node没有内置mysql模块,需要利用npm下载之后再引入,输入命令行:$ npm install mysql,或者利用国内的cnpm(淘宝镜像,官网地址:https://npmmirror.com/)下载,输入命令行:$ npm install -g cnpm --registry=https://registry.npmmirror.com

js文件代码:

var mysql  = require('mysql');  
 
var connection = mysql.createConnection({     
  host     : 'localhost', //地址:默认本地      
  user     : 'root',    //用户名          
  password : '***',  //密码     
  port: '3306',  //端口,默认3306,可以不写                 
  database: 'web' //数据库名
});  
connection.connect();

三.数据库操作

1.查询数据(查)

var mysql  = require('mysql');  
 
var connection = mysql.createConnection({     
  host     : 'localhost',       
  user     : 'root',              
  password : '***',       
  port: '3306',                   
  database: 'web' 
}); 
 
connection.connect();
 
var  sql = 'select * from person';  //person是表名
//查 SELECT * FROM `web50` WHERE 1
connection.query(sql,function (err, result) {
        if(err){
          console.log('[SELECT ERROR] - ',err.message);
          return;
        }
 
       console.log('--------------------------SELECT----------------------------');
       console.log(result);
       console.log('------------------------------------------------------------\n\n');  
}); 
connection.end();

创建服务器,连接mysql数据库,进行查询数据操作:

let http = require("http");
let mysql = require("mysql");

let server = http.createServer((req, res) => {
    res.setHeader('Content-Type', 'text/html; charset=utf-8')  //处理中文乱码问题
    var connection = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: '***',
        database: 'web'  
    });
    connection.connect();

    var sql = 'select * from person'; //person是表名
    //查 SELECT * FROM `web50` WHERE 1
    connection.query(sql, function (err, result) {
        if (err) {
            console.log('[SELECT ERROR] - ', err.message);
            return;
        }
        console.log('--------------------------SELECT----------------------------');
        console.log(result);

        res.end(JSON.stringify(result))
        console.log('------------------------------------------------------------\n\n');
    });
    connection.end();
})
server.listen("3001", () => {
    console.log("服务器3001已启动");
})

打印结果为:

--------------------------SELECT----------------------------
[
  RowDataPacket {
    id: 1,
    name: '张三',
    sex: '男',
    age: 18,
    phone: '18791864949'
  },
  RowDataPacket {
    id: 2,
    name: '李四',
    sex: '女',
    age: 22,
    phone: '15287884567'
  },
  RowDataPacket {
    id: 3,
    name: '小明',
    sex: '女',
    age: 20,
    phone: '15287884568'
  },
  RowDataPacket {
    id: 4,
    name: '杨帆',
    sex: '男',
    age: 21,
    phone: '12213324365'
  },
  RowDataPacket {
    id: 5,
    name: '蒋云龙',
    sex: '男',
    age: 20,
    phone: '14234252466'
  },
  RowDataPacket {
    id: 6,
    name: '贺润宁',
    sex: '男',
    age: 20,
    phone: '14235435687'
  }  
]
------------------------------------------------------------

3.插入数据(增)

SQL语句:INSERT INTO person (id, name, phone) VALUES (NULL, '王五', '18220550308');

4.删除数据(删)

SQL语句: let sql = DELETE FROM person WHERE name = "王五";

5.更新数据(改)

SQL语句:let sql = UPDATE person SET name = "狗蛋" WHERE id = 5;

在实际应用中,可以将调用数据库接口的代码封装到一个js文件中,从而简化了写数据库操作的代码。

db.js代码如下:

const mysql = require('mysql');

module.exports = (sql, callback) => {
	const db = mysql.createConnection({
        host : 'localhost',
        user : 'user',  //用户名
        password : '***', //密码
        database : 'web'  //数据库名
    });

    db.connect();
    db.query(sql, callback);
	db.end();
};

然后在需要使用时引入该文件:let db = require("./db");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值