前言
使用 MySQL 进行 web 应用开发时,操作数据库是常见需求之一。但是,手写 SQL 语句较繁琐,并且容易导致代码可读性下降以及注入攻击。因此,使用 ORM 库进行数据库操作是更好的选择。user-mysql
就是一款功能丰富、易用的 MySQL ORM 库,本文将介绍如何安装和使用它。
安装
使用 npm 安装:
npm install user-mysql --save
连接数据库
使用 UserMysql
需要首先建立一个数据库的连接,示例代码如下:
-- -------------------- ---- ------- ----- - --------- - - --------------------- ----- ------ - - ----- ------------ -- ------- -- --- ----- ------- -- ----- ----- ------- -- ------ --------- ----------- -- ------- --------- ------------- -- ----- - ----- -- - --- ----------------- -- -------- ---------------- - - - -- -------------------- -- - ---------------- -------- -- --------------------- --
查询数据
select 方法
使用 select()
方法可以查询数据,语法如下:
select([field1, field2, ...], from, [where1, where2, ...], limit)
field
字段可以是单个字段名称,也可以是多个字段名称组成的数组。from
是查询的表名。where
为查询条件,可以是单个条件,也可以是多个条件组成的数组。每个条件有三个属性,分别是field
表示查询的字段,operator
表示操作符,value
表示值。其中,用于连接多个条件的操作符可以是'and'
或'or'
,如果是数组,则默认是'and'
。limit
表示限制查询结果的数量,可以是单个数字,也可以是包含两个数字的数组,表示查询记录的起始位置和数量。
示例代码:
查询所有用户的信息:
const rows = await db.select('*', 'users') console.log(rows)
查询指定用户的信息:
const rows = await db.select(['id', 'name', 'email'], 'users', {field: 'id', operator: '=', value: 1}) console.log(rows)
查询指定年龄的用户信息:
const rows = await db.select(['id', 'name', 'email'], 'users', [{field: 'age', operator: '>=', value: 18}, {field: 'age', operator: '<=', value: 36}]) console.log(rows)
查询指定用户信息和限制结果数量:
const rows = await db.select(['id', 'name', 'email'], 'users', {field: 'id', operator: '=', value: 1}, [0, 1]) console.log(rows)
count 方法
使用 count()
方法可以查询数据的数量,语法如下:
count(table, [where1, where2, ...])
示例代码:
查询所有用户的数量:
const count = await db.count('users') console.log(count)
查询指定年龄的用户数量:
const count = await db.count('users', [{field: 'age', operator: '>=', value: 18}, {field: 'age', operator: '<=', value: 36}]) console.log(count)
插入数据
使用 insert()
方法可以插入数据,语法如下:
insert(table, data)
table
表示要插入数据的表名。data
是要插入的数据对象,对象的属性表示字段名,属性的值表示字段的值。
示例代码:
await db.insert('users', {name: 'Alice', email: 'alice@example.com', age: 18})
更新数据
使用 update()
方法可以更新数据,语法如下:
update(table, data, [where1, where2, ...])
table
表示要更新数据的表名。data
表示要更新的数据对象,对象的属性表示字段名,属性的值表示新的字段值。where
表示要更新的记录条件,可以是单个条件,也可以是多个条件组成的数组。每个条件有三个属性,分别是field
表示查询的字段,operator
表示操作符,value
表示值。其中,用于连接多个条件的操作符可以是'and'
或'or'
,如果是数组,则默认是'and'
。
示例代码:
更新指定用户的邮箱:
await db.update('users', {email: 'bob@example.com'}, {field: 'id', operator: '=', value: 2})
删除数据
使用 delete()
方法可以删除数据,语法如下:
delete(table, [where1, where2, ...])
table
表示要删除数据的表名。where
表示要删除的记录条件,可以是单个条件,也可以是多个条件组成的数组。每个条件有三个属性,分别是field
表示查询的字段,operator
表示操作符,value
表示值。其中,用于连接多个条件的操作符可以是'and'
或'or'
,如果是数组,则默认是'and'
。
示例代码:
删除指定用户:
await db.delete('users', {field: 'id', operator: '=', value: 2})
结束语
user-mysql
是一款十分实用的 MySQL ORM 库,拥有丰富的功能和易用的接口,可以极大地提高开发效率。本文详细介绍了如何使用 user-mysql
进行数据库的连接、查询、插入、更新、删除等操作,相信读者可以轻松上手。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005572281e8991b448d4157