【Node.js】学习Node.js简介、读取本地文件、连接数据库和MySQL常用查询命令(内附详细步骤)——学习Node.js

导读:本篇文章讲解 【Node.js】学习Node.js简介、读取本地文件、连接数据库和MySQL常用查询命令(内附详细步骤)——学习Node.js,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、Node.js 简介

  • Node.js 是一个开源和跨平台的 JavaScript 运行时环境
  • Node.js 在浏览器之外使用 Chrome V8引擎运行的JS环境
  • V8 提供了 JavaScript 执行的运行时环境
  • 注意
    • 浏览器是JavaScript的前端运行环境
    • Node.js是JavaScript的后端运行环境
    • Node.js中无法调用 DOM和BOM等浏览器内置API

2、安装与配置

2.1 检查是否安装

打开终端,输入 node -v ,看是否出现版本号

在这里插入图片描述

2.2 初始化项目

step1切换到项目目录下 ,创建文件夹

  • 不会的可以看以下截图步骤

在这里插入图片描述

step2: 进行初始化 ,在终端输入npm init -y

在这里插入图片描述

3、项目运行(两种方法)

3.1 cmd 进入项目目录

根据自己创建的js文件运行,只需要node 文件夹名

  • 比如node demo

在这里插入图片描述

3.2 配置命令

  • package.json文件中找到scripts 代码块,输入 “serve”:"node main.js"

在这里插入图片描述

  • 添加文件后,就可以使用npm run serve 运行文件了

在这里插入图片描述

4、模块概述

4.1 使用第三方模块

  • 切换到当前目录 cd / younode
  • 安装模块 npm i axios -S
  • 导入模块
const axios = require("axios")
  • 使用模块
axios.get(url).then(res=>{
	console.log(res.data)   //此处的URL需要你自己替换一下
})

4.2 使用自定义模块

  • 创建:一个js文件,命名为utils.js ,定义模块,代码自己输入,以下代码仅供参考~
​module.exports = {
max(a, b) {
if (a > b) {
return a;
        } else {
return b;
        }
    },
randomStr() {
return Math.random().toString(32).slice(2);
    },
};
  • 导入:在demo.js (js文件名自己命名)文件输入一下代码
const utils = require("./utils.js");
var big = utils.max(19999, 9494885);
console.log(big);

var str = utils.randomStr();
console.log(str);
  • 使用:在终端 调用 node demo(此处的demo为导入时创建的文件夹,记得调用时保持一致)

在这里插入图片描述

4.3 fs文件系统模块

Node.js官方提供的,用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件的操作需求

  • fs.readFile() 方法,用来读取指定文件中的内容

在这里插入图片描述

  • 同步
const fs = require("fs");
const txt = fs.readFileSync("./first.txt", "utf-8");
console.log(txt);
console.log("文件读取完毕");
  • 异步
//异步
fs.readFile("./first.txt", "utf-8", function (err, data) {
    if (!err) {
        console.log(data);
    }
});
console.log("文件读取完毕");
  • fs.writeFile()方法,用来向指定的文件中写入内容

在这里插入图片描述

  • 同步写入
fs.writeFileSync("./write.txt", "你喜欢前端课程嘛");
console.log("写入完毕");
  • 异步写入
fs.writeFile(
    "./wrote.txt",
    "啥时候过年啊,我是异步写入的,你明白吗",
    "utf-8",
    function (err, data) {
        console.log(err, data);
    }
);

5、node 操作sql

5.1 安装数据库

  • 检测是否安装成功

在终端窗口输入 mysql -u root -p 和自己安装MySQL时的密码 回车看到以下代码,就代表安装成功:

在这里插入图片描述

  • 安装mysql

在终端窗口输入npm i mysql -S

在这里插入图片描述
注意:此截图目录和上述的不是一个目录,是两个文件夹,自己的保持一致就行

5.2 连接数据库

以下代码新建一个js文件,命名为index.js

  • 导入
const mysql = require("mysql");
  • 创建连接
const conn = mysql.createConnect({
    host: "localhost", //域名
    user: "root", // 用户名
    password: "mysql", //密码(此处是你自己安装mysql时设置的)
    database: "feed", //数据库(你自己创建的数据库)})
  • 连接数据库
conn.connect(function (err) {
if (!err) {
console.log("连接数据库成功");
    }
});
  • 定义sql
var sql = "select * from feedback where 1"; //feedback 是你自己创建的数据库表名
  • 执行sql
conn.query(sql, function (err, res) {
if (!err) {
console.log(res); //res从数据库获取的数据
    } else {
console.log(err);
    }
});
  • 断开数据库
// conn.end(function (err) {
//     if (!err) {
//         console.log("数据库断开");
//     }
// });

5.3 内置服务器创建

  • 导入http 服务
const http = require("http");
  • 设置响应
const server = http.createServer(function (req, res) {
    // req请求的数据;res响应的数据
    // 设置响应码是200
    res.statusCode = 200;
    // 设置响应头(返回前端的是json格式)
    res.setHeader("Content-Type", "application/json");
       // 执行sql语句 result是数据库返回的数据
    conn.query(sql, function (err, result) {
        if (!err) {
            res.end(JSON.stringify(result));
        } else {
            res.end(`{"code":1,"msg":"数据库错误"}`);
        }
    }
  • 监听端口启动服务器
server.listen(8888, function () {
    console.log("服务器", "localhost:8888", "启动成功");
});
  • 在终端中运行 node index

在这里插入图片描述

  • 然后在浏览器 输入 localhost:8888

在这里插入图片描述

6、MySQL 查询命令

6.1 指定列查询

select  `msg`,`name`  from `feedback` where 1  

在这里插入图片描述

6.2 查询所有

select * from `feedback` where 1  查询所有

在这里插入图片描述

6.3 添加查询条件

select * from `feedback` where name='天天快乐'

在这里插入图片描述

6.4 按时间排序 降序

select * from `feedback` where 1 order by `datetime` desc

在这里插入图片描述

6.5 按时间排序 升序

select * from `feedback` where 1 group by `datetime`  asc

在这里插入图片描述

6.6 _代表任意一个字符串

select * from `feedback` where msg like '明天_%'

在这里插入图片描述

6.7 查询msg 中包含 xx元素

  • 查询msg中包含明天的元素 %代表任意字符
select * from `feedback` where msg like '%明天%'

在这里插入图片描述

6.8 查询 偏移

  • 查询 偏移2个 截取3行
select * from `feedback` where 1 group by `datetime` desc limit 2,3

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/46289.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!