node.js使用Sequelize操作数据库

简介: node.js使用Sequelize操作数据库

Sequelize是一个基于 promise 的 Node.js ORM(对象关系映射)。
目前支持 Postgres、MySQL、MariaDB、SQLite和Microsoft SQL Server; 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。
官方网址:
https://sequelize.org/v5/index.html
npm安装:npm install --save sequelize
使用何种数据库,要安装对应的npm类库,对应的几类数据库安装:
image.png
数据库的初始化代码:

const Sequelize = require('sequelize');
//第一种方式:传递数据库连接信息(ip、端口、用户名密码等)
sequelize = new Sequelize('database', 'username', 'password',{
   
   
host: 'localhost',
 dialect: /* one of 'mysql' | 'mariadb' | 'postgres' | 'mssql' */});
//第二种方式:使用uri的字符串连接方式
sequelize = new Sequelize('postgres://user:pass@example.com:5432/dbname');
验证数据库连接是否成功:
     sequelize.authenticate().then(() => {
   
         console.log('Connection has been established successfully.');

}).catch(err => {
   
   
console.error('Unable to connect to the database:', err);
});
// await方式:
       await sequelize.authenticate();

数据库的操作上,只要是以模型和数据库的表进行对应,同时也支持sql语句的查询方式。
模型定义(https://sequelize.org/v5/manual/models-definition.html):

const Model = Sequelize.Model;
class User extends Model {
   
   }
User.init({
   
   
//属性设置     
 firstName: {
   
   
  type: Sequelize.STRING,
  allowNull: false
   },      lastName: {
   
          type: Sequelize.STRING 
     }}, {
   
   
 //属性设置  
  sequelize, 
  modelName: 'user'  
 });

需要注意的是,上述定义一个user的模型,需要对应在数据库表中,有users这个表,要实现自己定义表名,需要在属性中设置以下两个参数:

freezeTableName: false,
   tableName: 'define_user'

直接执行sql语句查询(https://sequelize.org/v5/manual/raw-queries.html):

sequelize.query("SELECT * FROM `users`", {
   
    type: sequelize.QueryTypes.SELECT})
  .then(users => {
   
       
//返回json对象
  })

参考文档:
官网:
https://sequelize.org/v5/index.html
中文文档网站:
https://github.com/demopark/sequelize-docs-Zh-CN

相关文章
|
1月前
|
SQL JavaScript 关系型数据库
Node服务连接Mysql数据库
本文介绍了如何在Node服务中连接MySQL数据库,并实现心跳包连接机制。
32 0
Node服务连接Mysql数据库
|
3月前
|
JavaScript 关系型数据库 API
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
这篇文章介绍了什么是Prisma以及如何在Node.js和TypeScript后端应用中使用它。Prisma是一个开源的下一代ORM,包含PrismaClient、PrismaMigrate、PrismaStudio等部分。文章详细叙述了安装PrismaCLI和依赖包、初始化Prisma、连接数据库、定义Prisma模型、创建Prisma模块的过程,并对比了Prisma和Sequelize在Nest.js中的使用体验,认为Prisma更加便捷高效,没有繁琐的配置。
143 7
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
|
3月前
|
前端开发 NoSQL 数据库
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
46 0
|
4月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的数据库课程在线教学附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的数据库课程在线教学附带文章和源代码部署视频讲解等
42 4
|
3月前
|
NoSQL JavaScript 前端开发
JavaScript与数据库MongoDB的联动
JavaScript和MongoDB结合,构建Web应用的关键技术。MongoDB,作为NoSQL数据库,以其灵活性和高性能深受开发者喜爱。本文探讨两者的基本概念,如JavaScript在前端交互和后端数据处理的作用,MongoDB的文档存储和查询特性。通过Node.js和mongoose库,展示了连接数据库、定义数据模型及增删改查操作的代码示例。强调了性能优化(如索引、批量操作)和安全措施(如权限控制、数据加密)的重要性。最后,提供了一个简单的CRUD应用示例,涵盖Express和前端API调用。
44 0
|
4月前
|
JavaScript NoSQL 数据库连接
使用Nodejs + express连接数据库mongoose
【6月更文挑战第3天】这篇文章介绍了如何在Express应用中使用Mongoose连接MongoDB数据库。首先,需要创建一个`db.js`文件,然后通过`npm install mongoose`安装Mongoose驱动。接着,在应用中引入MongoDB模块,建立到数据库的连接。创建一个Mongoose schema定义数据模型,如用户信息表。最后,执行数据库操作,包括查询、插入、更新和删除文档,并在完成后关闭数据库连接。文中还提供了相关代码示例。
189 1
|
4月前
|
Java 测试技术 数据安全/隐私保护
基于ssm+vue.js+uniapp小程序的《数据库原理及应用》课程平台附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的《数据库原理及应用》课程平台附带文章和源代码部署视频讲解等
34 0
基于ssm+vue.js+uniapp小程序的《数据库原理及应用》课程平台附带文章和源代码部署视频讲解等
|
JavaScript 关系型数据库 数据库
|
1月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装