aardio 文档

aardio 范例: sqlite 库 - 增删改查

//sqlite 库 - 增删改查

import sqlite
import console;

var db = sqlite("/test-sqlite.db"); //创建数据库
if( not db.existsTable("film") ){ 
    db.exec( "CREATE TABLE [film](title, length, year, starring);"); //创建表
}  

//增 - 使用命名参数示例 
var cmd = db.prepare("REPLACE INTO film VALUES (@title,@length,@year, 'Jodie Foster');" ) 
cmd.step(  
    title = "标题";
    length = 4;
    year = time.now();
)    

//删 - 执行SQL语句,支持参数化 SQL,支持数组参数
db.exec("DELETE FROM ?? WHERE title=?;",{ "film","要删除的标题"} )

//改 - exec 函数也可以用一个表参数指定 SQL 命名参数
db.exec("UPDATE film SET title = @title,length=@length WHERE title = @oldTitle;",{
    title = "新的标题123";
    length = #"新的标题";
    oldTitle = "标题";
} );

//查 - 返回首行数据
var result = db.stepQuery("SELECT * FROM [film]"
    /*
    如果 SQL 语句没有指定命名参数,
    则参数可使用表对象中的名值对指定可选的 WHERE 条件参数 —— 多个条件自动添加 AND 连接。
    */
    ,{ title = "新的标题"} 
) 

//查 - 遍历查询结果
for rowid,title, length, year, starring in db.each("SELECT rowid,* FROM film") {
    /*
    for 语句的第一个返回值如果为 null 就会退出循环,
    如果数据库返回的第一个字段可能为空,那么可以把 SQLite 默认就有的索引字段 rowid 放在最前面
    */
    console.log( rowid,title, length, year, starring  ) 
}

//删除表 
db.exec("DROP TABLE film" );

console.pause();
Markdown 格式