Sequelize 是一款面向 Node.js 程序的关系型数据库 ORM(对象关系映射)框架,它支持多种数据库,包括 MySQL、PostgreSQL、SQLite 等。本文将介绍如何使用 Sequelize 连接 SQLite 数据库。
安装 Sequelize 和 SQLite3
在开始之前,请确保已经安装了 Node.js 环境和 SQLite3 数据库。然后,使用以下命令安装 Sequelize:
npm install sequelize --save
同时,需要安装 SQLite3 驱动:
npm install sqlite3 --save
创建 Sequelize 实例
在使用 Sequelize 之前,需要创建一个 Sequelize 实例。可以使用以下代码:
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { dialect: 'sqlite', storage: 'path/to/database.sqlite' });
其中,database
表示数据库名称,username
和 password
是数据库用户名和密码(SQLite 不需要用户名和密码),storage
指定了 SQLite 数据库的存储路径。在这个例子中,我们将数据库保存在了当前目录下的 path/to/database.sqlite
文件中。
定义模型(Model)
在 Sequelize 中,模型(Model)代表了数据库中的一张表,它定义了表的字段和数据类型。以下是一个简单的例子:
-- -------------------- ---- ------- ----- ---- - ------------------------ - --------- - ----- ----------------- ---------- ----- -- ------ - ----- ----------------- ---------- ----- - ---展开代码
以上代码定义了一张名为 users
的表,有两个字段:username
和 email
,它们的数据类型都是字符串。allowNull: false
表示这两个字段不能为空,必须填写数据。
需要注意的是,Sequelize 会默认在表名后自动添加一个 s
,因此,以上代码中的实际表名是 users
。
创建表格
在定义完模型后,需要使用以下代码同步数据库表格:
sequelize.sync();
这将创建或更新相关的表。如果要完全覆盖数据表,请使用 sequelize.sync({ force: true })
。
插入数据
接下来,可以使用以下代码向数据库中插入数据:
User.create({ username: 'John', email: 'john@example.com' }).then((user) => { console.log(user.get('username')); }).catch((error) => { console.error(error); });
以上代码会向 users
表中插入一条数据,包括了 username
和 email
两个字段。
查询数据
可以使用以下代码查询 users
表中的所有数据:
User.findAll().then((users) => { console.log(users); }).catch((error) => { console.error(error); });
这将返回一个包含所有数据的数组。如果只想查询指定条件的数据,可以使用 findOne
和 findAll
方法的 where
参数,例如:
-- -------------------- ---- ------- -------------- ------ - --------- ------ - -------------- -- - ------------------------------- ---------------- -- - --------------------- ---展开代码
以上代码将查询用户名为 John
的用户,并打印出该用户的邮箱地址。
更新数据
可以使用以下代码更新数据:
-- -------------------- ---- ------- ------------- ------ ----------------------- -- - ------ - --------- ------ - ---------------- -- - -------------------- ---------------- -- - --------------------- ---展开代码
以上代码将会更新用户名为 John
的用户的邮箱地址为 new-email@example.com
。
删除数据
可以使用以下代码删除数据:
-- -------------------- ---- ------- -------------- ------ - --------- ------ - ---------- -- - ----------------- ---------- ---------------- -- - --------------------- ---展开代码
以上代码将会删除用户名为 John
的用户。
总结
以上就是使用 Sequelize 连接 SQLite 数据库的基本流程,包括创建实例、定义模型、创建表格、插入数据、查询数据、更新数据和删除数据。
Sequelize 是一个功能强大的 ORM 框架,可以帮助我们轻松地管理数据库。无论是在开发项目还是学习 Node.js,都有很重要的意义。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6455c467968c7c53b0927e1a