使用sequelize对数据库进行增删改查
时间:2019-12-13
本文章向大家介绍使用sequelize对数据库进行增删改查,主要包括使用sequelize对数据库进行增删改查使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
由于本人对于命令比较执着,所以基本都是在命令下操作的,喜欢使用命令的可以使用Cmder,需要安装、配置的可以参考这篇文章:
https://www.cnblogs.com/ziyoublog/p/10416684.html
首先我们需要在自己的文件夹下运行一下cmd
npm init -y
(-y)的主要目的是跳过配置一系列的package.json
其次我们需要安装两个sequelize和mysql2
yarn add sequelize mysql2 -S 或者 npm install sequelize mysql2 -S
接下来我们需要在根目录下新建一个js文件
// index.js const Sequelize = require('sequelize') const sequelize = new Sequelize( 'testseq', // 数据库名 'root', // 用户名 'root', // 密码 { 'dialect': 'mysql', // 数据库使用mysql 'host': 'localhost', // 数据库服务器ip 'port': 3306, // 数据库服务器端口 'define': { 'underscored': true } } )
上述操作是为了连接数据库的,可以通过以下代码验证:
// 测试数据库是否连接成功 sequelize .authenticate() .then(res => { console.log('Connection Success!') }) .catch(err => { console.log('Connection Error') })
证明连接成功!
建立一个模板:
// 模板sequelize.define('表名', {}, {}) const User = sequelize.define( 'first', { id: { field: 'id', // 字段名 primaryKey: true, type: Sequelize.INTEGER, // 类型 allowNull: false // 是否允许为空 }, name: { field: 'name', primaryKey: true, type: Sequelize.STRING }, password: { field: 'password', primaryKey: true, type: Sequelize.STRING, allowNull: false } }, { tableName: 'first', timestamps: false, freezeTableName: true } )
首先我们来实现往数据库添加数据:
// 往数据库添加单条数据 User.create({ id: 1, name: 'test1', password: '123456' })
你就可以看到sql语句,接下来看看数据库有没有数据:
证明插入成功
其次就是改操作:
// 修改往数据库数据(通过id去修改name或者password) User.update({ 'name': 'test2' }, { 'where': { 'id': 1 } })
sql语句:
数据库:
name成功由test1变成了test2,证明成功!
查所有操作:
// 查询所有 User.findAll().then((res) => { console.log(res) })
查单个操作:
// 查询单条 User.findOne({ 'where': { 'id': 1 } }).then(res => { console.log(res) })
由于就只有一条数据,所以查出来的结果是一样的, 但是查询单个findOne、全部findAll。
接下来就是删除操作了:
// 删除数据库中某条数据 User.destroy({ 'where': { 'id': 1 } })
数据库:
已经顺利删除了。
以上操作需要在已经建立数据表的情况下。
完整代码:
const Sequelize = require('sequelize') const sequelize = new Sequelize( 'testseq', // 数据库名 'root', // 用户名 'root', // 密码 { 'dialect': 'mysql', // 数据库使用mysql 'host': 'localhost', // 数据库服务器ip 'port': 3306, // 数据库服务器端口 'define': { 'underscored': true } } ) // 测试数据库是否连接成功 // sequelize // .authenticate() // .then(res => { // console.log('Connection Success!') // }) // .catch(err => { // console.log('Connection Error') // }) // 模板sequelize.define('表名', {}, {}) const User = sequelize.define( 'first', { id: { field: 'id', primaryKey: true, type: Sequelize.INTEGER, allowNull: false }, name: { field: 'name', primaryKey: true, type: Sequelize.STRING, allowNull: false }, password: { field: 'password', primaryKey: true, type: Sequelize.STRING, allowNull: false } }, { tableName: 'first', timestamps: false, freezeTableName: true } ) // 往数据库添加单条数据 User.create({ id: 1, name: 'test1', password: '123456' }) // // 往数据库添加数据多条数据 遍历 // const addData = [{ // id: 5, // name: 'yang5', // password: '123456' // }, // { // id: 6, // name: 'yang6', // password: '123456' // } // ] // for (let i = 0; i < addData.length; i++) { // User.create({ // id: addData[i].id, // name: addData[i].name, // password: addData[i].password // }) // } // 修改往数据库数据(通过id去修改name或者password) // User.update({ // 'name': 'test2' // }, { // 'where': { 'id': 1 } // }) // 删除数据库中某条数据 // User.destroy({ // 'where': { // 'id': 1 // } // }) // 查询所有 User.findAll().then((res) => { console.log(res) }) // 查询单条 User.findOne({ 'where': { 'id': 1 } }).then(res => { console.log(res) })
原文地址:https://www.cnblogs.com/zaijin-yang/p/12034439.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- response.getWriter().write()和 response.getWriter().print()的区别:
- java使用TCP,由客户端向服务端传输图片,(电脑与电脑)或(同一台电脑)
- 使用druid
- UDP实现多人聊天室
- 请求(doFilter)与响应乱码(BaseController+自定义注解@ContentType(““))集中处理
- 反射:Reflect(获取类对象三种方法)
- getParameterMap()返回参数需要对应实体类类型,否则收不到----打卡
- 类对象 与 类的对象
- Lambda什么时候使用+简化匿名内部类
- PreparedStatement连接数据库实现登录验证,避免sql注入问题
- 自己封装数据库工具类
- Git---->Linux常用命令+主干、分支合并,发生冲突+当紧急任务来时,文件暂存+忽略文件不提交
- 使用servlet完成简单的登录功能(servlet与html之间跳转(重定向))
- gitee配置
- idea--->先交给git本地仓库--->再push到远程仓库