什么是 Sequelize?
Sequelize 是一个基于 Node.js 的 ORM(对象关系映射)框架,它可以让我们通过 JavaScript 的语法来操作数据库,而不需要写 SQL 语句。Sequelize 支持多种数据库,包括 MySQL、PostgreSQL、SQLite 和 Microsoft SQL Server 等。
安装 Sequelize
在开始使用 Sequelize 之前,我们需要先安装它。可以通过 npm 命令来安装:
npm install sequelize
同时,我们还需要安装相应的数据库驱动,例如:
npm install pg pg-hstore # PostgreSQL npm install mysql2 # MySQL npm install sqlite3 # SQLite npm install tedious # Microsoft SQL Server
连接数据库
在使用 Sequelize 之前,我们需要先连接数据库。我们可以通过以下代码来连接数据库:
-- -------------------- ---- ------- ----- --------- - --------------------- -- -- --------- -- ----- --------- - --- --------------------- ----------- ----------- - ----- ------------ -------- -------- --- -- -------- --------- --------------- -------- -- - ----------------------- --- ---- ----------- ---------------- -- ------------ -- - --------------------- -- ------- -- --- ----------- ----- ---
上面的代码中,我们创建了一个 Sequelize 实例,并且使用 authenticate()
方法来测试连接是否成功。
定义模型
在 Sequelize 中,我们需要先定义一个模型(Model)来表示数据库中的一张表。我们可以通过 Sequelize 提供的 define()
方法来定义模型。
下面是一个简单的例子:
-- -------------------- ---- ------- ----- - ---------- --------- - - --------------------- ----- --------- - --- --------------------- ----------- ----------- - ----- ------------ -------- -------- --- ----- ---- - ------------------------ - -- ---------- ---------- - ----- ----------------- ---------- ------ -- --------- - ----- ----------------- -- ---- - ----- ------------------ -- ---
在上面的代码中,我们定义了一个名为 User
的模型,它有三个属性:firstName
、lastName
和 age
。其中,firstName
属性是一个非空的字符串,lastName
和 age
属性是可选的。
同步数据库
在定义好模型之后,我们需要将它们同步到数据库中。可以通过以下代码来同步数据库:
sequelize.sync();
如果我们想要在同步数据库的时候强制删除已有的表,可以传入一个 { force: true }
的选项:
sequelize.sync({ force: true });
增删改查
在定义好模型并同步数据库之后,我们就可以使用 Sequelize 来进行增删改查操作了。
创建数据
我们可以通过以下代码来创建一条新的数据:
const jane = await User.create({ firstName: 'Jane', lastName: 'Doe', age: 18, }); console.log(jane.toJSON());
查询数据
我们可以通过以下代码来查询数据:
const users = await User.findAll(); console.log(users.map((user) => user.toJSON()));
我们也可以使用 findOne()
方法来查询单条数据:
const user = await User.findOne({ where: { firstName: 'Jane' } }); console.log(user.toJSON());
更新数据
我们可以通过以下代码来更新数据:
await User.update({ age: 20 }, { where: { firstName: 'Jane' } });
删除数据
我们可以通过以下代码来删除数据:
await User.destroy({ where: { firstName: 'Jane' } });
总结
Sequelize 是一个非常强大的 ORM 框架,它可以让我们轻松地进行数据库操作。在本文中,我们介绍了 Sequelize 的一些基本用法,包括连接数据库、定义模型、同步数据库以及增删改查等操作。希望本文能够对初学者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65106eda95b1f8cacd8fa842