node 连接 mysql 数据库三种方法------笔记
一、mysql库
文档:https://github.com/mysqljs/mysql
mysql有三种创建连接方式
1.createConnection
使用时需要对连接的创建、断开进行管理
2.createPool
创建资源池,使用时不需要对连接的创建、断开进行管理,每次使用完调用一次release进行释放连接到资源池,至于连接是否断开交给资源池去管理。每次建立连接时非常消耗资源的,影响性能,因此对连接创建合理的管理,有利于提高性能。
3.createPoolCluster
创建连接池集群,允许与多个host连接
二、sequelize库
中文文档:https://github.com/demopark/sequelize-docs-Zh-CN
此库依赖mysql2
与mysql库相比,不需要写sql语句,增删查改都封装成对应的方法。
mysql库入门比较简单,有利于学习sql语句
sequelize封装了一些简单sql语句,掌握封装的方法及对应的参数即可,但学习成本稍微高一些,需要创建模式,模式需要与数据库中的表对应起来。在项目实际开发过程中,使用sequelize开发效率更高,代码可以更加简短。也有query方法,支持使用sql语句。
sequelize提供了一个方法sequelize.sync({ force: true });强制数据库中的表与模式定义的表进行同步,如果数据库中存在与模式定义同名的表,此表会被删除,重新定义。如果数据库中存在模式未定义的表,不会对其进行操作。
也可以对单个模式设置强制同步
如:
// 注意:如果表已经存在,使用`force:true`将删除该表
User.sync({ force: true }).then(() => {
// 现在数据库中的 `users` 表对应于模型定义
return User.create({
firstName: 'John',
lastName: 'Hancock'
});
});
强制同步也有风险点:
1.适合在项目初始化,需要创建数据表的时候使用
2.如果数据库中已有部分数据,当服务重启时,数据库中模式定义的表会被删除,数据会丢失,因此不适合在非初始化时使用,因此在使用时需要判断是否时初始化的情况
作者:爱扎马尾的小狮子
链接:https://www.jianshu.com/p/e3bc48b4a050
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
node 连接 mysql 数据库三种方法------笔记的更多相关文章
- Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- C# | VS2019连接MySQL的三种方法以及使用MySQL数据库教程
本文将介绍3种添加MySQL引用的方法,以及连接MySQL和使用MySQL的教程 前篇:Visual Studio 2019连接MySQL数据库详细教程 \[QAQ \] 第一种方法 下载 Mysql ...
- ASP 连接 MySQL 数据库两种方法
一般都是用myodbc来连接.首先,在系统中安装 Mysql 的ODBC数据库驱动.如安装稳定版本是3.51.下载地址是:http://dev.mysql.com/downloads/connecto ...
- PHP的学习--连接MySQL的三种方式
记录一下PHP连接MySQL的三种方式. 先mock一下数据,可以执行一下sql. /*创建数据库*/ CREATE DATABASE IF NOT EXISTS `test`; /*选择数据库*/ ...
- DataTable数据批量写入数据库三种方法比较
DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1) insert循环插入:2) sqldataadapter.update(dataset,tablename); ...
- jdbc连接oracle的三种方法
jdbc连接oracle的三种方法 使用service_name,配置方式:jdbc:oracle:thin:@//<host>:<port>/<service_name ...
- DataTable 数据批量写入数据库三种方法比较
DataTable数据批量写入数据库三种方法比较 1) insert循环插入: 2) sqldataadapter.update(dataset,tablename); 3) sqlbul ...
- Jsp连接Mysql数据库取数方法
我将Jsp连接Mysql数据库方法整理如下,供大家学习交流! 1.首先在myslq数据库中新建mldn数据库,并新建emp表.(方法不展开介绍) 插入数据如下: create table `emp` ...
- c语言连接mysql数据库的实现方法
C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到 我这里也有一份网上找到的:/201205/other ...
随机推荐
- openstack-neutron安装与配置
一.实验目的: 1.理解neutron服务在OpenStack中的作用 2.掌握在控制节点上安装配置neutron的方法和步骤 3.掌握在计算节点上安装与配置neutron的方法和步骤 二.实验步骤: ...
- 31.Java基础_日期/日期格式/日历类
Date类 Date对象构造方法 Date对象常用方法 import java.util.*; public class test { public static void main(String[] ...
- java对 zip文件的压缩和解压(ant解决中文乱码)
说明: 1.对于压缩的文件,当文件名称是中文时,若使用JDK API中自带的类(java.util.zip.ZipEntry; java.util.zip.ZipOutputStream;)进行压缩, ...
- Python实现单链表数据的添加、删除、插入操作
Python实现单链表数据的添加.删除.插入操作 链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址.由于每个结 ...
- [译]Vulkan教程(21)顶点input描述
[译]Vulkan教程(21)顶点input描述 Vertex input description 顶点input描述 Introduction 入门 In the next few chapters ...
- str函数之不同变量之间如何连接,外加浮点运算注意事项
最近看书了解到不同字符串之间可以用“+”号来连接,遂思考如何将不同变量连接起来,思考试验并上网查询后得出了结果,在此将所学分享给在阅读的各位. 数据类型的转换 常识可知,在python中,不同的数 ...
- Metasploit从文件中读取目标地址
本文简单介绍如何使用Metasploit从文件中读取目标地址,来执行检测. 以检测MS17-010漏洞为例,在设定RHOSTS参数时,可设定目标地址范围和CIDR地址块,设定单个IP的目标也是可以的. ...
- 利用Python进行数据分析-Pandas(第四部分-数据清洗和准备)
在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载.清理.转换以及重塑上.这些工作会占到分析时间的80%或更多.有时,存储在文件和数据库中的数据的格式不适合某个特定的任务.研究者都选择使用编 ...
- Kafka基本知识整理
首先Kafka是一个分布式消息队列中间件,Apache顶级项目,https://kafka.apache.org/ 高性能.持久化.多副本备份.横向扩展. 生产者Producer往队列里发送消息, ...
- 简单实用的原生PHP分页类
一款简单实用的原生PHP分页类,分页按钮样式简洁美观,页码多的时候显示“...”,也是挺多网站用的效果 核心分页代码 include_once("config.php"); req ...