You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB

Sql操作命令集合

本文档主要介绍了sql操作的核心命令详细操作命令示例代码参见 mysql示例文档. sqlserver测试用例 , postgreSql测试用例 操作方式同 mysql .

1.查询类: 不会修改数据的sql、存储过程、视图

    // 首先获取一个数据连接
    sqlservConn := sql_factory.GetOneSqlClient("postgre")  // 参数为空,默认就是mysql驱动,您还可以传递 sqlserver  postgresql 参数获取对应数据库的一个连接.
    #1.多条查询: 
        sqlservConn.QuerySql
    #2.单条查询: 
         sqlservConn.QueryRow

2.执行类: 会修改数据的sql、存储过程等

    #1.执行命令,主要有 insert  updated  delete   
       sqlservConn.ExecuteSql

3.预处理类:如果场景需要批量插入很多条数据,那么就需要独立调用预编译

1.如果你的sql语句需要循环插入1万、5万、10万+数据。
2.那么可能会报错: Error 1461: Can't create more than max_prepared_stmt_count statements (current value: 16382)
3.此时需要以下解决方案

    #1.预编译,预处理类之后,执行批量语句
       sqlservConn.PrepareSql
    #2.(多条)执行类
       sqlservConn.ExecuteSqlForMultiple
    #3.(多条)查询类
       sqlservConn.QuerySqlForMultiple    

4.事务类操作

    #1.开启一个事务
       tx:=sqlservConn.BeginTx()
    
    #2.预编译sql
       tx.Prepare

    #3.执行sql
       tx.Exec

    #4.提交
       tx.Commit

    #5.回滚
       tx.Rollback