1. 程式人生 > >golang mysql多語句查詢及呼叫儲存過程

golang mysql多語句查詢及呼叫儲存過程

之前的golang版本,由於sql標準庫不支援多結果集的返回,所以也就影響了儲存過程,那時候只能呼叫插入和更新類的儲存過程,即db.exec(“call function_name”), 從golang 1.8開始,支援多結果集, https://blog.gopheracademy.com/advent-2016/database_sql/

package main

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
    "log"
    "fmt"
)



func main() {
    db, err := sql.Open("mysql"
, "root:[email protected]/test?multiStatements=true") if err != nil { log.Println(err) } defer db.Close() err = db.Ping() if err != nil { log.Println(err.Error()) } rows, err := db.Query(` select username from users limit 0, 10; select uuid from users limit 0
, 10;`) if err != nil { log.Print(err.Error()) } defer rows.Close() for rows.Next() { name := "" rows.Scan(&name) fmt.Println(name) } if !rows.NextResultSet() { log.Fatal("expected more result sets", rows.Err()) } for rows.Next
() { uuid := "" rows.Scan(&uuid) fmt.Println(uuid) } rows, err = db.Query(`call id_users(?)`, 10) if err != nil { log.Print(err) } for rows.Next() { name := "" rows.Scan(&name) fmt.Println(name) } }

相關推薦

golang mysql語句查詢呼叫儲存過程

之前的golang版本,由於sql標準庫不支援多結果集的返回,所以也就影響了儲存過程,那時候只能呼叫插入和更新類的儲存過程,即db.exec(“call function_name”), 從golang

撩課-JavaWeb之Statement介面與預編譯語句呼叫儲存過程

Statement介面 介面 Statement介面作用 用於進行Java程式和資料庫之間的資料傳輸 具體類有3個實現 Statement 用於對資料庫進行通用訪問,使用的是靜態sql PreparedStatement PreparedSta

MyBatis入門---parameterMap的使用呼叫儲存過程

1、準備資料: create table p_user( id int primary key auto_increment, name varchar(10),

mysql查詢之子語句查詢

avg 語句 1.3 person 結果集 mysql多表查詢 http color pan 1.子語句查詢 1.1子語句查詢出來的結果集作為臨時表名使用 select * from (select * from person) as aaa; -- as這

MySql 查詢

不能 結果 9.png 中一 處理 元素 中文 inner 代碼 多表查詢必然要用到多表關聯 多表關聯 分三類: A:內部連接 join 或inner join B:外部鏈接 外部連接又分為兩類 :左外連接 left join 和右外連接 right join C

mysql數據庫從刪庫到跑路之mysql查詢

logs 插入 並且 所有 方式 color dep join 查看表 一 介紹 本節主題 多表連接查詢 復合條件連接查詢 子查詢 準備表 company.employeecompany.department #建表 create table department( id

mysql查詢

mysql 查詢 1、並(union)“並”就是把具有相同字段數目和字段類型的表合並到一起2、笛卡爾積笛卡爾積就是沒有連接條件表關系的返回的結果3、內連接(inner join)針對數據庫操作的運算提供了一個專門的函數JOIN。連接就是在表關系的笛卡爾積數據記錄中,按照相應字段值的比較條件選擇生成一個

nodejs語句查詢

lib nbsp repl 圖片 localhost 執行 ace lac 復制代碼 為了安全起見,默認情況下是不允許執行多條查詢語句的。要使用多條查詢語句的功能,就需要在創建數據庫連接的時候打開這一功能: var connection = mysql.createC

mysql查詢練習

mysql、多表一、準備數據庫init.sql文件內容如下:/* 數據導入: Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Ver

MySQL 查詢實現分析

OS 是你 例子 dump table 多表查詢 一個 ont 由於 1、查看第一個表 mytable 的內容:   mysql> select * from mytable;   +----------+------+------------+-------

MySQL實例優化(二)

基本 文件 target mys lan 程序 16px 通過 讀寫分離 一、多實例MySQL數據庫原理   1.1:原理圖        1.2:多實例原理(什麽是多實例)     簡單來說MySQL多實例就是在一臺服務器上同時開啟多個不用的服務端口(如:3

9 MySQL--查詢

des 間接 所在 分享 spl har asc 銷售 多表連接查詢 多表查詢: http://www.cnblogs.com/linhaifeng/articles/7267596.html 1.多表連接查詢 2.符合條件連接查詢

4 - MySQL:查詢

als 字段 employee har pre where 註意 color 工作 MySQL:多表查詢 一,介紹 本節主題 多表連接查詢 復合條件連接查詢 子查詢 準備工作 #建表 create table department( id int, name varc

MySQL查詢-學習筆記

交叉連線 1. 集合:無序性、唯一性 兩個集合的元素相乘,成為笛卡爾積 設集合A有M個數據,M個數據各不相同 集合B有N個數據,N個數據各不相同 笛卡兒積:MN 表A有9行,表B有10行,笛卡兒積為90行 等值連線 2(1)得到兩個2表的笛卡兒積,表之間用逗號或者join或者cross jo

MySQL查詢教程

多表查詢 : 連線查詢-子查詢 MySQL基礎操作連結 ; 工具: SQLyog 1. 表結構       使用者,角色,許可權三張表(主表)及三者之間的關係通過兩張 “第三張外來鍵表”維護。“外來鍵表”中的兩個欄位分別使用外來鍵指向主表

mysql查詢學習

距離上一篇文章一分鐘瞭解CONSTRAINT約束的用法,我們瞭解到在工作中,很多時候我們都會將一個很大的表拆解成多個小的表,來去除資料冗餘問題,一方面可以提高資料查詢的速度,另外一方面,易於我們進行資料表的管理。 單表查詢 一般的,查詢單張表,我們可能是進行如下的操作。 SE

建立和呼叫儲存過程查詢Stu資料庫中某個同學的選修課程的資訊,包括學號,姓名,課程名稱,成績

CREATE PROCEDURE proc_select--建立儲存過程 @Sno char(10) output,--輸入輸出引數 @Sname varchar(20) out,--輸出引數 @Cno char(4) out,--輸出引數 @grade tinyint

JDBC呼叫儲存過程(以MySQL為例)

-- drop procedure test_proc; DELIMITER // CREATE PROCEDURE test_proc(out p_out int, inout p_inout int, in p_in int) BEGIN set p_out=200000002

MySQL 查詢 學習與練習

字段 class 表連接 value 導入 數據 table 男女 強調 一、介紹 首先先準備表 員工表和部門表 #建表 create table department( id int, name varchar(20) ); create table employe

springboot_springdata-jpa @Procedure呼叫儲存過程查詢方法

專案地址: https://github.com/heng1234/springdata-jpa  1、mysql資料建立表和儲存過程 CREATE TABLE `user` ( `id` INT (11) NOT NULL AUTO_INCREMENT,