Golang Go语言中初学练手,如何用Go根据sql语句校验数据的脚本?

发布于 1周前 作者 sinazl 来自 Go语言

例如

CREATE TABLE Persons
    (
    Id_P int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

写一个 go 脚本来遍历 sql 文件,看看哪些满足上述约束条件,哪些不满足,并把不满足的挑出来?


Golang Go语言中初学练手,如何用Go根据sql语句校验数据的脚本?

更多关于Golang Go语言中初学练手,如何用Go根据sql语句校验数据的脚本?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

4 回复

先找一个 golang 版本的 SQL parser,拿到 AST 想干什么都可以了

更多关于Golang Go语言中初学练手,如何用Go根据sql语句校验数据的脚本?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


可以像下面这个,valid:“required,min=0,max=2” 就是校验整形的,最小 0 最大 2,还有很多其他规则待挖掘

// 平台管理员审核订单
type OrderApproveRequest struct {
OrderNum string json:"orderNum" valid:"required" //订单号
ApprovalStatus int json:"approvalStatus" valid:"required,min=0,max=2" //审核状态
ApprovalComment string json:"approvalComment" valid:"required,max=200" //审核意见
}



非常感谢提示。我来试试,话说 go 的效率会高于 python 吗

在Go语言中,校验SQL语句的数据通常涉及两个主要步骤:执行SQL查询并检查结果。以下是一个简单的示例,展示如何使用Go语言来根据SQL语句校验数据。

  1. 引入必要的包

    import (
        "database/sql"
        "fmt"
        _ "github.com/go-sql-driver/mysql" // 根据你的数据库驱动进行替换
        "log"
    )
    
  2. 建立数据库连接

    db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()
    
  3. 执行SQL查询并校验数据

    query := "SELECT column_name FROM table_name WHERE condition"
    rows, err := db.Query(query)
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()
    
    var result string
    for rows.Next() {
        if err := rows.Scan(&result); err != nil {
            log.Fatal(err)
        }
        fmt.Println(result) // 你可以在这里进行数据的校验逻辑
    }
    
    if err := rows.Err(); err != nil {
        log.Fatal(err)
    }
    

这个示例展示了如何使用Go语言执行SQL查询并打印结果,你可以根据需要对结果进行校验。注意,实际应用中应使用参数化查询来避免SQL注入攻击,并适当处理错误和连接管理。此外,确保你的数据库驱动与数据库类型匹配。

回到顶部