美文网首页V语言
V语言学习笔记-20内置SQL支持

V语言学习笔记-20内置SQL支持

作者: lydiandy | 来源:发表于2020-05-20 00:27 被阅读0次

    内置SQL支持

    目前仅为alpha阶段,当demo体验而已

    V语言有一个内置的ORM,目前只支持postgres和mysql,后续支持sqlite

    V ORM的好处有:

    • 针对不同的数据库,统一的一套语法,这样迁移到其他数据库变得更容易
    • SQL语法内置在V语言的语法中,不需要学习其他的语法
    • 安全,不可以通过注入生成SQL语句
    • 编译时检查,语法错误在编译时就可以被捕捉到
    • 简单易读,不再需要手工解析结果和构造对象
    import pg
    struct Customer { // 数据库表对应到结构体,结构体名目前要求跟表名一致
        id int // 第一个字段必须是一个整型的id字段
        name string
        nr_orders int
        country string
    }
    
    db := pg.connect(db_name, db_user) //连接数据库,返回DB类型
    
    // select count(*) from Customer
    nr_customers := db.select count from Customer //db.后面的就可以直接写SQL语句,并返回结果集,数组
    println('number of all customers: $nr_customers')
    
    // V syntax can be used to build queries
    // db.select返回一个数组
    uk_customers := db.select from Customer where country == 'uk' && nr_orders > 0
    println(uk_customers.len)
    for customer in uk_customers {
        println('$customer.id - $customer.name')
    }
    
    customer := db.select from Customer where id == 1 limit 1
    println('$customer.id - $customer.name')
    
    //插入数据到数据库
    new_customer := Customer{name: 'Bob', nr_orders: 10}
    db.insert(new_customer) 
    

    更详细的SQL内容,可以参考pg章节

    相关文章

      网友评论

        本文标题:V语言学习笔记-20内置SQL支持

        本文链接:https://www.haomeiwen.com/subject/tybbohtx.html