Mysql 与 Http 与 Express

本文介绍了NodeJS中使用Mysql数据库的基本概念,包括数据库结构、NodeJS中的Mysql模块安装和基本操作(增删改查),以及如何使用NodeJS创建HTTP服务器和Express框架进行Web应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Mysql数据库

(一)重要概念

1.数据库管理系统(包含多个数据库)----- 数据库(包含多个表)----- 表(包含多个行)----

----- 行(包含多个字段)----- 字段(属性信息)......

 2.Mysql模块是在Node JS 中与mysql数据库交互的模块

3.安装

终端输入
npm install mysql

 (二)增删改查命令

1.查询命令

1.1语法

--select 字段 from 表名 where 条件

1.2实现方式格式

1.2.1 简易写法

select name,msg,time from comment where 1  或

select name from comment where 1  或

select * from comment  或

select comment.name from comment where 1

1.2.2 标准写法

SELECT `name`,`msg` FROM `comment` WHERE 1

1.2.3 模糊查询

 查询name中带n的数据

select * from comment where name like '%小%'

2.插入命令

2.1语法

INSERT INTO 表名(字段1,字段2)values (字段1数据,字段2数据)

--例如:在comment表中增加一条数据

2.2实现

INSERT INTO `comment` (name,msg) values("老6","小河")

--  注  :id 自动生成(自增) time 自动生成(时间戳) 建表的时候设置

3.删除命令

3.1语法

DELETE FROM  `表名` where 条件

3.2实现

3.2.1 通过id

DELETE FROM `comment` where id=4

3.2.2 通过 字段

DELETE FROM `comment` where name="小6"

4.修改命令

4.1语法

UPDATE 表名 set 字段名 = '值' where 条件

4.2 实现

UPDATE `comment` set name='前端' where id=7

(三)node项目

1.初始化项目

npm init -y

2.安装mysql包(插件)

npm i mysql

3.创建index.js项目文件

(四)用nodejs完成连接数据库 代码实现

//------------------------------index.js--------------------------//

//导入
const mysql = require("mysql")
//创建连接
const conn = mysql.createConnection({
    host:"localhost",       //域名
    user:"root",            //用户名
    password:"123456789",   //密码
    database:"feedback"     //数据库名
})
//连接数据库
conn.connect((err) => {
    if (!err) {
        console.log("连接数据库成功!");
    } else {
        console.log("连接数据库失败!", err);
    }
});
//创建sql
    // 查询命令
    const sql = "select * from comment where 1";

    // 删除命令
    // const sql = "delete from comment where id = 2 "

    // 插入命令
    // const sql = 'insert into comment (name,msg) values ("张三","你好哇")'
    // const sql2 = `insert into comment (name,msg) values                   
    //("auto${Math.random().toFixed(4)}","信息${Math.random().toFixed(4)}")`
    // conn.query(sql2, function (err, data) {
    //     if (err) { console.error(err) }
    // })

    // 修改命令
    // const sql3 = "update comment set name = '李四' where id = 10"
    // conn.query(sql3, function (err, data) {
    //     if (err) { console.error(err) }
    // })


//执行sql
conn.query(sql, function (err, data) {
    if (err) {
        // 打印错误
        console.error("错误", err);
    } else {
        // 把获取到的数据打印
        console.log(data);
    }
});


// 06 关闭连接
conn.end(function (err) {
    if (!err) {
        console.log("数据库连接关闭成功!");
    } else {
        console.log("数据库连接关闭失败!", err);
    }
})

二、HTTP服务器

(一)重要概念

NodeJS 可以使用http模块来创建http服务器

http已经被集成在node的基础库中

(二)创建并访问服务器

1.创建js文件

创建server.js文件,用于导入数据

创建conn.js文件,用于设置连接远程数据库

2.1 server.js文件

const conn = require('./conn.js');//导入数据库连接
// 01 导入原生http服务器
const http = require('http');
// 02 创建服务器
const server = http.createServer((req, res) => {
    // req,request 浏览器的请求数据
    // res,response 服务器返回给浏览器的数据
    // 01 状态码 状态码status , 02 数据类型 content-type
    // 03 响应体
    res.statusCode = 200;//200代表成功
    res.setHeader("Content-type", "application/json;charset=utf-8")

    // 手动添加的数据
    // res.end('{"errCode":0,"msg":"欢迎你的到来","data":{数据库数据}')  

    // 数据库数据 访问处理
    const sql = "select * from comment where 1";
    conn.query(sql, (err, data) => {// 执行 sql
        if (err) {
            var result = { "errCode": 1, "msg": "数据库错误", "err": err }//错误数据返回
        } else {
            var result = { "errCode": 0, "msg": "获取成功", "data": data }//正确数据返回
        }
        res.end(JSON.stringify(result))
    })
})
// 03 监听端口
server.listen(8080, () => {
    console.log("服务器启动成功")
    console.log("访问:http://localhost:8080")
})

2.2 conn.js文件

// 01 导入mysql
const mysql = require('mysql')
// 02 创建链接
const conn = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '123456',
    database: 'feedback'
})
// 03 连接
conn.connect(err => {
    if (err) {
        console.err('数据库连接数据:', err)
    }
})
// 04 导出连接
module.exports = conn;

三、Express

(一)重要概念

1.简介

基于 Node.js 平台,快速、开放、极简的 Web 开发框架

Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用

2.安装

npm install express

(二)创建并启用

1.创建文件夹

创建public文件夹,用于存放html

创建user.html,自己写的项目

创建main.js,实现代码

2. user.html代码

<body>
    <h1>用户</h1>
    <a href="/">首页</a>
    <a href="/about">关于</a>
</body>

3. main.js代码

// 01 导入express
const express = require('express')
// 02 创建app
const app = express()

// 使用静态文件夹
app.use(express.static("public"))

// 使用json
app.use(express.json())
// 03  定义get put post delete 请求 (定义路由)
//什么是路由:路由对应的页面配置
//监听首页
app.get("/", function (req, res) {
    res.send("<h1>首页</h1>")
})
app.post("/", function (req, res) {
    // res.send("<h1>post返回的首页内容</h1>")
    res.json({
        code: 0,
        msg: "首页"
    })
})
app.get("/about", function (req, res) {
    res.send("<h1>关于页面</h1>")
})

//  04 监听端口启动服务
app.listen(8888, () => {
    console.log("服务器启动 http://localhost:8888")
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值