SQLite3 数据库
云函数内置 SQLite3 数据库
,您可以使用 cloud.storage.bucket(<bucket_name>)
对象中的 openSQLite3
方法打开一个 db
数据库文件;并且可以使用 exec
方法执行任意 SQL
指令,还可以使用 query
方法查询数据。
示例代码
建议创建一个 sqlite3
私有存储桶,以防数据被盗!注意:数据库文件不存在,系统会自动创建。
打开、关闭数据库(连接)
js
function main() {
const sqlite3 = cloud.storage.bucket('sqlite3').openSQLite3('/class.db') // 打开 sqlite3 存储桶下的 class.db 数据库
if (sqlite3 == null) {
return '连接数据库失败'
}
// 连接数据库成功,可以执行 exec 或 query 操作
sqlite3.close() // 关闭数据库连接(打开操作完成后一定记得关闭数据库连接)
return '连接数据库成功'
}
exec 执行任意 SQL 指令
js
function main() {
const sqlite3 = cloud.storage.bucket('sqlite3').openSQLite3('/class.db') // 打开 sqlite3 存储桶下的 class.db 数据库
if (sqlite3 == null) {
return '连接数据库失败'
}
const createTableSQL = `
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(50) NOT NULL,
age INTEGER,
sex CHAR(1)
);
`
if (!sqlite3.exec(createTableSQL)) {
// 执行创建表的 SQL 指令,创建一张 students 表
return '创建表失败'
}
const insertSQL = `INSERT INTO students (name, age, sex) VALUES ('王华', 21, 'M');`
if (!sqlite3.exec(insertSQL)) {
// 执行插入数据 SQL 指令,插入一条学生数据
return '插入数据失败'
}
sqlite3.close() // 关闭数据库连接(打开操作完成后一定记得关闭数据库连接)
return '操作成功'
}
query 执行 SQL 语句查询数据
js
function main() {
const sqlite3 = cloud.storage.bucket('sqlite3').openSQLite3('/class.db') // 打开 sqlite3 存储桶下的 class.db 数据库
if (sqlite3 == null) {
return '连接数据库失败'
}
const result = sqlite3.query(`SELECT id, name, age, sex FROM students`)
if (result == null) {
return '查询数据失败'
}
sqlite3.close() // 关闭数据库连接(打开操作完成后一定记得关闭数据库连接)
return '查询数据成功:' + JSON.stringify(result)
}