1. 简介
MS SQL Server是一种关系型数据库管理系统,由微软公司提供。在开发中常常需要用到数据库来实现数据的存储和管理,因此学习如何利用npm管理mssql数据库是很有必要的。
2. 安装mssql包
在开始使用mssql之前,需要先安装mssql包。在终端中输入以下命令即可完成安装:
npm install mssql --save
安装完成后,在需要使用的文件中引入mssql:
const sql = require('mssql');
3. 连接数据库
3.1. 创建配置文件
在开始连接数据库之前,需要创建一个配置文件来存储与数据库相关的信息,包括数据库名、用户名和密码等。在项目根目录下创建一个config文件夹,然后在该文件夹中创建一个dbConfig.js文件,用于存储数据库的配置信息:
const config = {
user: 'username',
password: 'password',
server: 'localhost',
database: 'database_name'
};
module.exports = config;
可以根据自己的实际情况修改配置信息。
3.2. 连接数据库
在创建了配置文件后,就可以使用mssql连接数据库了。在连接数据库之前需要先配置连接信息,可以在代码中直接使用config文件中的信息,如下所示:
// 引入配置文件
const dbConfig = require('./config/dbConfig');
// 配置连接信息
const config = {
user: dbConfig.user,
password: dbConfig.password,
server: dbConfig.server,
database: dbConfig.database,
options: {
encrypt: true // 如果是在本地测试可以设置为 false
}
};
// 建立连接
sql.connect(config).then(pool => {
console.log('数据库连接成功');
}).catch(err => {
console.log('数据库连接失败', err);
});
连接成功后,控制台会输出“数据库连接成功”的信息。
4. 查询数据
4.1. 查询数据表中的数据
查询数据表中的数据是使用频率比较高的操作,下面介绍如何使用mssql查询数据表中的数据。
const sqlStr = 'SELECT * FROM table_name';
sql.connect(config).then(pool => {
return pool.request().query(sqlStr);
}).then(result => {
console.log(result.recordset);
}).catch(err => {
console.log(err);
});
上述代码中,先定义了一个查询语句sqlStr,然后使用connect()方法连接数据库,使用request()方法获取请求对象,最后使用query()方法执行查询语句。查询成功后,结果集会保存在result.recordset中。
4.2. 根据条件查询数据
除了查询数据表中的所有数据以外,还可以根据条件查询数据,例如:查询年龄大于20岁的用户信息。
const sqlStr = 'SELECT * FROM user WHERE age > 20';
sql.connect(config).then(pool => {
return pool.request().query(sqlStr);
}).then(result => {
console.log(result.recordset);
}).catch(err => {
console.log(err);
});
每次查询都会建立一个新的连接,因此可以写一个公共的查询函数来玩游戏查询逻辑。
function query(sqlStr) {
return new Promise((resolve, reject) => {
const pool = new sql.ConnectionPool(config);
pool.connect(err => {
if (err) {
reject(err);
return;
}
const request = new sql.Request(pool);
request.query(sqlStr, (err, result) => {
pool.close();
if (err) {
reject(err);
} else {
resolve(result.recordset);
}
});
});
});
}
上述代码中,通过创建新的连接池和请求对象来进行查询。查询结束后,使用resolve()方法将结果集返回。
5. 执行增、删、改操作
使用mssql也可以执行增、删、改操作,操作的语法与查询语句类似。
5.1. 插入数据
const sqlStr = "INSERT INTO user (name, age) VALUES ('Tom', 18)";
sql.connect(config).then(pool => {
return pool.request().query(sqlStr);
}).then(result => {
console.log('新增成功');
}).catch(err => {
console.log('新增失败', err);
});
上述代码中,插入语句使用了VALUES语法插入新的记录。
5.2. 更新数据
const sqlStr = "UPDATE user SET age = 20 WHERE name = 'Tom'";
sql.connect(config).then(pool => {
return pool.request().query(sqlStr);
}).then(result => {
console.log('更新成功');
}).catch(err => {
console.log('更新失败', err);
});
上述代码中,使用SET语法更新指定记录的信息。
5.3. 删除数据
const sqlStr = "DELETE FROM user WHERE name = 'Tom'";
sql.connect(config).then(pool => {
return pool.request().query(sqlStr);
}).then(result => {
console.log('删除成功');
}).catch(err => {
console.log('删除失败', err);
});
上述代码中,使用DELETE语法删除指定的记录。
6. 总结
本文介绍了如何使用npm管理mssql数据库,包括连接数据库、查询数据和执行增、删、改操作。在实际开发中,可以根据具体业务需求来使用不同的操作,从而实现数据管理的功能。