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

2022-08-18 17:47:55 浏览数 (1)

前端同学大多习惯使用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
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0 人点赞