node(express框架)连接mysql 基础篇

news2024/11/26 2:45:19

文章目录

    • 电脑安装mysql
      • 配置mysql
      • 连接mysql 创建表
    • 创建node文件
    • 启动node
  • node 连接数据库
      • 连接数据库

电脑安装mysql

由于我的是mac 我就安装mac版本的 mysql 如已安装跳过此步骤

  1. mysql官网
  2. 选择版本在这里插入图片描述
  3. 安装配置 这里注意选择下面的 next在这里插入图片描述
  4. 输入mysql密码 点击finish在这里插入图片描述

配置mysql

  1. 打开终端输入 mysql 会报错

mysql
command not found: mysql

  1. 配置环境 终端输入

sudo vim ~/.zshrc

  1. 点击 i 进入编辑模式 将下面复制进去 编辑完成后然后按 esc 退出编辑模式,输入 :wq 保存退出

export PATH=$PATH:/usr/local/mysql/bin在这里插入图片描述

  1. 接着在终端执行 source ~/.zshrc 使配置生效

source ~/.zshrc

  1. 此时在终端查看 mysql 版本可以看到已经可以查到我们安装的版本了

mysql --version
在这里插入图片描述

连接mysql 创建表

  1. 输入账户密码连接mysql

mysql -uroot -p在这里插入图片描述

  1. 查看数据库

show databases; 查看数据库
create databases xxx; 创建数据库
use xxx; 使用

在这里插入图片描述

创建node文件

  1. 我们本地创建一个文件夹express-server

npm init -y在这里插入图片描述

  1. 创建一个app.js

touch app.js

  1. 安装express框架

npm i express

启动node

  1. app.js 写入以下代码
const express = require('express');
const app = express();
const port = 3002;

app.get('/', (req, res) => {
  res.send('HELLO WORLD');
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

在这里插入图片描述
2. 访问 http://localhost:3002/
在这里插入图片描述

node 连接数据库

1 . 首先我已经创建了一个数据表并且创建了一个数据库 chatgpt 并使用它
在这里插入图片描述

3.我这里创建了一个user表 并且已经插入了数据

在这里插入图片描述

连接数据库

  1. 我们辉到express-server文件下 安装 mysql包

npm install mysql

  1. 我们创建一个dbconfig.js 文件来配置数据库信息
const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',   // mysql密码
  database: 'chatgpt', // mysql 数据库名称
});

module.exports = connection;

在这里插入图片描述

  1. 然后我们在app.js 引入并写sql语句查询数据
    在这里插入图片描述
const express = require('express');
const app = express();
const connection = require('./dbConfig');
const port = 3002;


app.get('/',(req,res)=>{
  res.send
}

app.get('/user', (req, res) => {
  connection.query('SELECT * FROM user', (error, results, fields) => {
    if (error) throw error;
    res.send(results);
  });
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

  1. 重新启动node 访问http://localhost:3002/user

node ./app.js
在这里插入图片描述

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

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

相关文章

ROS:TF变换

一.TF变换数据格式(msg) TransformStamped.msg(两个坐标系之间转换) std_msgs/Header header uint32 seq time stamp string frame_id 指明哪一个坐标系(父坐标系) string child_f…

汇编语言(第3版) - 学习笔记 - 实验8 分析一个奇怪的程序

实验8 分析一个奇怪的程序 题目解析顺序执行查看反汇编测试一下 题目 分析下面的程序,在运行前思考:这个程序可以正确返回吗? 运行后再思考:为什么是这种结果? 通过这个程序加深对相关内容的理解。 assume cs:codesg codesg segmentmov ax, 4c00h int 21h …

BUUCTF pwn1_sctf_2016

小白垃圾笔记而已,不建议阅读。 唉,因为没有在一开始创建flag文件,导致调试了半天也没有找到问题所在。 这道题是这样的: main函数调用vuln函数 其实在程序中还有一个get_flag函数: 我们可以将返回地址覆盖成它。 覆…

E. Number With The Given Amount Of Divisors

传送门 题意:求出整好有n个因子的最小整数。 思路: 要找到恰好有n个因子的最小整数,我们可以利用质因数分解的思想来求解。设该整数的质因数分解式为:其中p1,p2,...,pn均为不同的质数,a1,a2,...,an均为正整数。则该整…

【vue3】05-vue的双向绑定 — v-model

文章目录 v-mdelv-model的基本使用v-model绑定其他表单元素textareaselectcheckboxradio v-model修饰符 v-mdel v-model 是 Vue.js 中用于表单元素和组件双向数据绑定的指令。它可以将表单元素或组件的值和 Vue 实例的数据属性进行双向绑定: 即当表单元素或组件的值发生变化时…

Ajax 实例

文章目录 AJAX 实例AJAX 实例解析 AJAX 实例 为了帮助您理解 AJAX 的工作原理&#xff0c;我们创建了一个小型的 AJAX 应用程序: 实例 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <script> function loadXMLDoc() {var x…

第五期(2022-2023)传统行业云原生技术落地调研报告——金融篇

随着数字化浪潮的来临&#xff0c;云原生技术正在改变着各行各业&#xff0c;通过IT变革驱动业务创新发展&#xff0c;促进企业自身以及产业生态的转型升级。 因此&#xff0c;灵雀云联合云原生技术实践联盟&#xff08;CNBPA&#xff09;和行业内头部厂商F5&#xff0c;共同发…

如何实现一款接入chatGPT的智能音箱

现有的一些“智能音箱”如某度和某猫精灵&#xff0c;跟现在的chatGPT比显得智障。如果能有一款接入chatGPT的智能音箱&#xff0c;它的交互性就好多啦。有gpt加持的智能音箱绝对会很强&#xff0c;以下提供探讨下实现思路。 目前智能音箱在语音交互层面依然不够成熟&#xff0…

PSO算法、MATLAB代码实现以及测试效果

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 PSO算法原理进化操作算法流程图matlab代码实现main函数部分适应度函数部分PSO算法主体测试结果 (F1~F6) PSO算法原理 粒子群优化( Particle Swarm Optimization&am…

【C++关联容器】map的成员函数

目录 map 1. 构造、析构和赋值运算符重载 1.1 构造函数 1.2 析构函数 1.3 赋值运算符重载 2. 迭代器 3. 容量 4. 元素访问 5. 修改器 6. 观察者 7. 操作 8. 分配器 map map是关联容器&#xff0c;它按照特定的顺序存储由关键字值和映射值的组合形成的元素。 在一…

【Java】再看排序 —— 关于 Comparator 的用法

谈一个比较基础&#xff0c;又很常用的东西&#xff0c; Comparator 类&#xff0c;之前我写过一篇浅浅的关于这个的文章 &#xff0c;今天再复盘一下这个问题&#xff0c;把它弄熟 ps: 本文中提供的代码&#xff0c;为了提高可读性都没用 lamdam 和 函数式编程 简化书写&…

JVM-0423

运行时内存 程序计数器 作用:记录每个线程的代码执行到哪一条指令了 为了保证程序(在操作系统中理解为进程)能够连续地执行下去&#xff0c;CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用&#xff0c;所以通常又称为指令计数器。在程序开始执行…

论文阅读:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

使用移位窗口的分层视觉Transformer 继续阅读Transformer相关 0、摘要 本文提出了一种新的视觉Transformer&#xff0c;称为Swin Transformer&#xff0c;能够作为一个通用的骨干计算机视觉。将Transformer从语言适应到视觉的挑战来自于两个领域之间的差异&#xff0c;例如视…

QGIS数据可视化学习笔记01——一般的图层样式调整和在地图上添加图表

说明&#xff1a;QGIS数据可视化章节用的数据为QGIS绘制一张地图学习章节的数据&#xff0c;传送门&#xff1a;https://blog.csdn.net/qq_47188967/article/details/130196284 一、 一般的图层样式调整 首先呢&#xff0c;在QGIS中打开上一章节用的数据&#xff0c;界面如下&…

SpringMVC-HttpMessageConverter的使用

目录 1、HttpMessageConverter概述 2、RequestBody 3、RequestEntity 4、ResponseBody 5、SpringMVC处理json 6、SpringMVC处理ajax 7、RestController注解 8、ResponseEntity 1、HttpMessageConverter概述 HttpMessageConverter是什么 HttpMessageConverter&#xff0…

rabbitmq的高级特性

1.消息可靠性问题&#xff08;实现消费者确认&#xff09; 1.在项目中添加配置 logging:pattern:dateformat: HH:mm:ss:SSSlevel:cn.itcast: debug spring:rabbitmq:host: 192.168.2.182 # rabbitMQ的ip地址port: 5672 # 端口username: rootpassword: rootvirtual-host: /publ…

1.Qt Creator简介及Hello World

安装 下载链接 Qt 5.14.2下载 SDK建议的安装路径 SDK的案例中&#xff0c;宏定义默认要求直接安装在C盘 查看建议路径的流程 右键“解决方案”下的项目名称&#xff0c;选择最下面的“属性” “C/C” -> “常规” -> “附加包含目录” -> “右侧小箭头” ->…

【软件测试】3年测试岗碌碌无为?我到底该咋办?测试提升成长之路...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 无论哪个岗位&…

线程同步方式之三信号量

Linux线程同步方法之三 信号量 信号量本质上是一个计数器&#xff0c;用来表示公共资源中资源的数量。只要拥有信号量&#xff0c;未来一定能够拥有临界资源的一部分使用权。故申请信号量的本质就是对临界资源中特定的小块资源的预订机制。故能通过访问信号量就能提前知道临界…

Redis可视化工具-Another Redis Desktop Manager 安装与连接哨兵集群

目录 一、下载安装 1.1 下载 1.2 安装 二、使用 2.1 新建连接 2.2 新增数据 2.3 应用设置 2.3.1深色模式、语言 2.3.2多个连接的颜色标记 一、下载安装 Another Redis DeskTop Manager 是 Redis 可视化管理工具&#xff0c;体积小&#xff0c;完全免费。最重要的是稳定…