---ゴーゴー高度なMySQLデータベース操作

インストールの依存関係

2つの主な使用mysqlのパッケージを使用して動作するように移動します

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

最初のパッケージは、Goはデータベースパッケージが付属しています。しかし、唯一の最初のものは十分ではありません、多くのデータベースには似ていますが、ありますが、違いがあります。ドライバはパッケージできMyqslする必要がありますので、今回は、MySQLを使用する必要があります。
第二のパッケージは、MySQLドライバパッケージに使用され、パッケージはあなたがダウンロードする必要があり、標準ライブラリ囲碁の内側ではありません。
これは、次のコマンドでインストールすることができます。

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

より多くの命令がダウンロードできない場合は、直接行くことができgithub.com/go-sql-driver/mysqlインストールを抽出するには覚えて、ダウンロード(GoPath / SRC /ベンダー、およびそのパッケージディレクトリに同じ変更が覚えていない場合は、上記のように確保するために)ディレクトリを。

その後、匿名をインポートする必要があり、私は別のブログ記事で、匿名パッケージに更新します。


データベース操作

DBはデータベースを表すためにグローバル変数を定義します。その後、我々は2つのステップがあります。

データベースの初期化(接続データベース)
// 定义一个全局对象db
var db *sql.DB

// 定义一个初始化数据库的函数,也就是连接数据库
func initDB() (err error) {
	// DSN:Data Source Name
	//dsn := "user:password@tcp(127.0.0.1:3306)/dbname" // 一般语句
	dsn := "root:123456@tcp(127.0.0.1:3306)/runoob"  // 这是我电脑上的数据库,请根据实际情况自行修改
	// 不会校验账号密码是否正确
	// 注意!!!这里不要使用:=,我们是给全局变量赋值,然后在main函数中使用全局变量db
	db, err = sql.Open("mysql", dsn)
	if err != nil {
		return err
	}
	// 尝试与数据库建立连接(校验dsn是否正确)
	err = db.Ping()
	if err != nil {
		return err
	}
	return nil
}

データベースの操作:

func main() {
	err := initDB() // 调用输出化数据库的函数
	if err != nil {
		fmt.Printf("init db failed,err:%v\n", err)
		return
	}
	// 将runoob1_tb1 这个表中的数据全部读出来
	rows, err := db.Query("SELECT * FROM runoob_tb1")

	// 也可以使用条件选择
	//id := 2
	//rows, err := db.Query("SELECT * FROM runoob_tb1 WHERE id=?", id) //

	//
	if err != nil {
		log.Fatalln(err)
	}
	defer rows.Close()

	for rows.Next() {
		// 取多少个变量就定义多少个变量
		var id int
		var author string
		var title string
		var date string
		if err := rows.Scan(&id, &title, &author, &date); err != nil {
			log.Fatalln(err)
		}
		fmt.Println(id, title, author, date)
	}
	if err := rows.Err(); err != nil {
		log.Fatalln(err)
	}
}

業績

D:\编程语言和环境\Go\src\studygo\day07\mysql\demo1>go run main.go
1 学习PHP 菜鸡教程 2020-02-13
2 学习MYSQL 菜鸟教程 2020-02-13
3 学习JAVA RUNOOB.COM 2020-02-13
5 学习C++ RUNOOB.COM 2020-02-13
7 学习go kyda 2020-02-16

結果は、コンソールを見て:
ここに画像を挿入説明
だけでなく、私たちは操作が成功した説明として。いくつかの他はほとんど同じです。上部のプログラムに若干の変更のみ。

本論文で参照します。https://www.liwenzhou.com/posts/Go/go_mysql/

あなたは私が缶を書くと考えられる場合は、その後、ここに画像を挿入説明私の公共の数に焦点を当て:

67元記事公開 ウォン称賛77 ビュー150,000 +を

おすすめ

転載: blog.csdn.net/weixin_37720172/article/details/104339885