成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go語言介紹以及實現MySQL數據庫的操作

數據庫 MySQL
Go語言,也稱為Golang,是由Google開發的一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言。

今天給大家介紹一下Go語言,以及實現MySQL數據庫的操作示例,希望對大家能有所幫助!

一、Go語言介紹

Go語言,也稱為Golang,是由Google開發的一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言。以下是Go語言的一些主要特點:

二、Go語言特點

語法簡潔:摒棄了一些復雜的編程概念和冗余的語法,容易學習

高效性能:采用的靜態編譯和垃圾回收機制,實現了高效的內存管理

并發支持:Go語言是為并發編程而設計的,原生支持goroutine和channel

強大的標準庫:Go語言擁有豐富的標準庫

社區活躍:Go語言的社區非常活躍,有著龐大的開發者群體

三、  Go語言應用場景

服務器端開發:適合構建高性能的服務器端應用程序。因為Go語言具有輕量級的協程(goroutine)和高效的并發編程機制。例如谷歌、Dropbox和Netflix等。

網絡編程:適合構建Web服務器、微服務、網絡爬蟲、實時通信系統等。目前Go語言成為開發高負載網絡應用的首選語言。

云計算:Go語言的輕量級和快速編譯的特點使得它非常適合于構建云原生應用。例如Docker和Kubernetes等。

系統編程:適合成為開發操作系統、驅動程序和嵌入式系統。

工具開發:很多工具和框架都選擇使用Go語言進行開發。例如,Docker、Etcd、InfluxDB和Prometheus等工具。

人工智能和大數據分析:Go語言的并發編程模型和內存管理機制使得它可以高效地處理大規模數據和復雜計算任務。

四、Go語言環境安裝

安裝Go語言環境,首先官網下載WindowsGo語言安裝包

https://golang.google.cn/dl/

安裝之后,cmd運行命令檢查環境是否安裝成功。

五、Go語言實現Mysql數據庫的增刪概啥

安裝操作數據庫依賴Go-MySQL-Driver

Go-MySQL-Driver是Go語言官方推薦的MySQL驅動, 是Go語言中使用MySQL的最佳選擇

go get -u github.com/go-sql-driver/mysql

可能會報如下錯誤:

原因:

GO111MODULE 是 Go 1.11 引入的新版模塊管理方式。

GO111MODULE 環境變量用于開啟或關閉 Go 語言中的模塊支持,它有 off、on、auto 三個可選值,默認為 auto

win10環境下需要執行如下命令:

go env -w GO111MODULE=auto

然后重新執行安裝命令:

go get -u github.com/go-sql-driver/mysql

如果下載的時候報錯:

connectex: A connection attempt failed because the connected party did not p

直接進入電腦的環境變量設置國內鏡像地址。

新建環境變量GOPROXY。

值為:

https://mirrors.aliyun.com/goproxy/

點擊確定后,重啟命令行窗口,然后執行下載命令:

代碼實現

package main
import (
  "database/sql"
  "fmt"
  "log"
  _ "github.com/go-sql-driver/mysql"
) 
/*
*獲取mysql數據庫版本
*/
func showMysqlVersion() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2?charset=utf8")
	if err != nil {
		log.Fatal(err)
	}
	db.Ping()
	defer db.Close()

	var version string
 
	errt2 := db.QueryRow("SELECT VERSION()").Scan(&version)
 
	if errt2 != nil {
		log.Fatal(errt2)
	}
	fmt.Println(version)
}
/*
*查詢數據測試
*/
func queryTest() {
	// 設置數據庫連接信息
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	// 執行查詢
	rows, err := db.Query("SELECT id, name, age FROM t_user")
	if err != nil {
		log.Fatal(err)
	}
	defer rows.Close()

	// 遍歷查詢結果
	for rows.Next() {
		var id int
		var name string
		var age int
		if err := rows.Scan(&id, &name, &age); err != nil {
			log.Fatal(err)
		}
		fmt.Printf("ID: %d, Name: %s, Age: %d\n", id, name, age)
	}
	if err := rows.Err(); err != nil {
		log.Fatal(err)
	}
}
/*
*插入數據測試
*/
func insertTest() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	db.Ping()
	defer db.Close()
 
	if err != nil {
		fmt.Println("connect DB error !")
		log.Fatalln(err)
	}
	_, err2 := db.Query("INSERT INTO t_user ( `name`, `address`, `age`) VALUES('小劉','廣東',35)")
	if err2 != nil {
		log.Fatal(err2)
	} 
	fmt.Println("數據插入成功")
}
/*
*數據更新測試
*/
func updateTest() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	db.Ping()
	defer db.Close()
 
	if err != nil {
		fmt.Println("connect DB error !")
		log.Fatalln(err)
	}
 
	_, err2 := db.Query("update t_user set name='小明2' where id=1 ")
	if err2 != nil {
		log.Fatal(err2)
	}
 
	fmt.Println("數據更新成功")

}

/*
*數據更新測試
*/
func delTest() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	db.Ping()
	defer db.Close()
 
	if err != nil {
		fmt.Println("connect DB error !")
		log.Fatalln(err)
	}
 
	_, err2 := db.Query("delete from t_user where id=2 ")
	if err2 != nil {
		log.Fatal(err2)
	}
 
	fmt.Println("數據刪除成功")

}

func main(){
	delTest()
	updateTest();	
	//insertTest()
	queryTest()
	showMysqlVersion()
}

運行效果如下圖:

責任編輯:姜華 來源: 小明互聯網技術分享社區
相關推薦

2009-06-30 15:15:30

JSP數據庫

2020-07-02 16:20:36

MySQLCURD數據庫

2010-05-18 11:04:11

MySQL數據庫

2011-02-28 15:45:12

2010-05-28 14:51:47

MySQL數據庫

2023-10-26 07:05:58

MySQL數據庫

2010-05-27 16:55:23

操作MySQL

2010-06-02 16:57:50

MySQL數據庫同步

2021-01-23 12:47:19

MySQL數據庫Go語言

2010-10-15 16:20:59

MySQL數據庫表

2010-06-01 13:58:24

遠程連接MySQL

2024-01-07 19:54:51

2023-07-03 00:44:26

Go語言MySQL

2010-06-01 12:51:23

MySQL數據庫

2019-10-21 13:52:14

MySQL數據庫命令

2014-04-24 10:48:27

Go語言基礎實現

2021-11-12 15:42:34

MySQL數據庫權限

2019-02-11 08:32:22

編程語言Go

2010-05-12 18:02:11

MySQL數據庫

2009-06-04 15:59:53

Netbeans操作MMySQL數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频一区二区三区 | 久久久精品一区二区 | 欧美视频第三页 | 中文字幕在线一区二区三区 | 国产精品福利在线 | 精品一区二区久久久久久久网站 | 精品三级在线观看 | www.日本在线观看 | 亚洲精品久久区二区三区蜜桃臀 | 中文字幕第100页 | 国产在线网站 | 国产精品久久久久久久7777 | 成人精品视频在线 | 91精品久久久久久久久久 | 欧美一级久久 | 色黄视频在线 | 一级a爱片性色毛片免费 | av黄色国产| 一区二区三区在线 | 99精品视频免费观看 | 91精品国产高清久久久久久久久 | 国产中文字幕在线 | 成人亚洲在线 | 成人午夜精品 | 中文字幕av网 | 97免费在线视频 | 日韩午夜影院 | 成人毛片在线视频 | 国产一区二区免费电影 | 成人久久 | 久在线精品视频 | 激情一区 | www.47久久青青 | 久久精品福利 | 99久久免费精品 | 午夜精品久久久久久久久久久久 | 久久免费精品 | 精品一区二区三区四区外站 | 色播久久久| 在线观看中文字幕 | 亚洲一区二区久久 |