前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >node.js+MySQL后端开发--(烂尾了 闲了再更)

node.js+MySQL后端开发--(烂尾了 闲了再更)

作者头像
yutingbai
发布2022-08-18 17:47:55
8540
发布2022-08-18 17:47:55
举报
文章被收录于专栏:前端小菜鸡

前端同学大多习惯使用MongoDb数据库但是MySQL才是正儿八经开发环境中用的多的数据库,那么应该怎么样使用node.js配合MySql写一个完整的后端项目呢?

数据库部分

安装数据库

安装数据库有两种方法一种是采用命令行安装,一种是直接在官网下载,这个看个人喜好就行,我是以macOS命令行安装为例:

代码语言:javascript
复制
//下载工具是homebrew
//mySql8.x在使用上还有很多不兼容的地方,所以推荐下载5.7
$ brew install mysql@5.7 
//下载好之后需要连接
$ brew link --force mysql@5.7 
// 启动服务
$ brew services start mysql@5.7 
// 输出到环境变量
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc 
//添加登陆密码,如果自己使用,可以不设置密码
$ mysql_secure_installation
//如果没有设置登陆密码就不加 -p
$ mysql -uroot -p

官网下载安装包的话指路 => https://dev.mysql.com/downloads/mysql/

点击红框哪里选择对应的版本,下载好了以后无情下一步即可 (有问题直接百度搜索 电脑版本 + 安装MySql@5.7就行)

数据库装好了

安装好以后就可以学习Sql语句啦!

介绍几个基本操作

  • USE 数据库名; : 选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。
  • SHOW DATABASES;: 列出 MySQL 数据库管理系统的数据库列表。

图片里的四个都是自带的

  • SHOW TABLES;: 显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
  • SHOW COLUMNS FROM 数据表: 显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
  • SHOW INDEX FROM 数据表;: 显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

sql语句 SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

SQL 的数据定义语言 (DDL)

部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:
  • CREATE DATABASE 数据库名- 创建新数据库
  • CREATE TABLE 表名 - 创建新表
  • ALTER TABLE 操作语句- 变更(改变)数据库表
  • DROP TABLE 表名 - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引
查询和更新指令构成了 SQL 的 DML 部分:

INSERT INTO - 向数据库表中插入数据

SELECT - 从数据库表中获取数据

UPDATE - 更新数据库表中的数据

DELETE - 从数据库表中删除数据

更多有关语句指路➡️️ or

node.js部分

express官网 连通数据库并不复杂,但是网上没找到很靠谱的教程,所以在这里简单说一下

代码语言:javascript
复制
.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.pug
    ├── index.pug
    └── layout.pug

7 directories, 9 files


作者:yutingbai_
链接:https://juejin.cn/post/6844904066720464909
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

- 首先要下载mySql中间件`npm install mysql`,在npm里搜一下就能搜到用法 - 然后文件根目录下新建一个config文件夹,文件夹里新建一个db.js作为数据库的配置文件

代码语言:javascript
复制
const mysql = require('mysql');

var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '****',
    database: '数据库名称'
});

module.exports = {
    connection
};

作者:yutingbai_
链接:https://juejin.cn/post/6844904066720464909
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

- 在app.js引入这个文件

代码语言:javascript
复制

var { connection } = require('./config/db')
connection.connect((err)=>{
  if(err){
    console.log("数据库连接失败")
  }
  console.log("数据库连接成功")
});

作者:yutingbai_
链接:https://juejin.cn/post/6844904066720464909
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

运行项目,就成了,网上很多教程采用请求一次断开一次的写法,那样很耗费性能,不推荐。 ## 接口编写 响应模块化开发,在编写后端接口时也应该分模块

代码语言:javascript
复制
.
├── app.js
├── bin
│   └── www
├── common
│   └── constant.js
├── config
│   ├── db.js
│   └── sql.js
├── controllers
│   ├── messagelist.js
│   ├── msgsocket.js
│   └── postmessage.js
├── modules
│   ├── msgsocket.js
│   ├── postmessages.js
│   └── selectmessages.js
├── package-lock.json
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── auth.js
│   ├── index.js
│   └── message.js
└── views
    ├── error.ejs
    └── index.ejs

作者:yutingbai_
链接:https://juejin.cn/post/6844904066720464909
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

config下新建sql.js目录,存放sql语句

代码语言:javascript
复制
//采用函数的形式编写sql语句,在调用时传参
const allmessages = (userID) => {
    return `select * from msg t1 join msg_user t2 on t1.id = t2.msgid and t2.reciever = '${userID}' ORDER BY t2.createTime DESC ,t2.updateTime DESC;` 
}

作者:yutingbai_
链接:https://juejin.cn/post/6844904066720464909
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库部分
    • 安装数据库
      • 数据库装好了
        • 介绍几个基本操作
    • node.js部分
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档