9
5

More than 5 years have passed since last update.

はじめての Go言語、インストール&さわってみる,MySQLにアクセスしてみる その1

Last updated at Posted at 2017-08-23

初めての Go

初めてGo言語、初めてみた動機は、あるサーバにphpをインストールできないことでした。というか、単に root権限もらえなかった or お客様の環境なので無茶できなかったことが大きい。そんな訳で、これから色々と触ってみる。

インストール

https://golang.org/dl/ から最新のgoをダウンロードすればよい。

Windows の場合

Windows に インストーラを使って GoLang を インストールするときの注意点」 を参照するとpathの話で少しハマルっぽいが、go1.8.3 版では特にハマル点はなかったので素直にインストール or 再起動でいい。

⇒ 実際は、「

Linux の場合

基本どこでもokです、path さえ通せばねw。
私は、下記のようにしました。

cmd
$ cd ~
$ wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
$ tar xvfz go1.8.3.linux-amd64.tar.gz 

で、.bash_profile に下記を追加する。

.bash_profile
export GOROOT=$HOME/go
export GOPATH=$HOME/go/goroot
export PATH=$PATH:$HOME/go/bin

コマンドラインから go が使えればok。試しに hello してみます。

hello.go
package main

import "fmt"

func main() {
    fmt.Println("Hello hage!!")
}

実行してみる。

cmd
$ go run hello.go
Hello hage!!

MySQLに接続してみる

これ!これがやりたかった。go は、Java や php 、Perl などデータベースアクセスを行う場合、別途DBIやらパッケージをインストールする必要がありましたが、そこは後発の go 。すでにそういう一連の基底部分が充実しておりますw

とはいえ

MySQLのドライバは、インスコする必要があります。
それでもインスコは、超絶楽チンちん。

cmd
$ go get "github.com/go-sql-driver/mysql"

プログラム、プログラム

プログラム(楽しいので3回言ってみた)。ちょいといままでの php と全然勝手が違うのですが、そこは後から開発環境を整えるということにして、とりあえずMySQLにアクセスして結果を返すというサンプルを実行してみる。

golangの環境を整えてmysqlに接続する

mysql.go
package main

import (
    "database/sql"
    "fmt"

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

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(host:3306)/dbname")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    rows, err := db.Query("SELECT TABLE_NAME, PARTITION_NAME FROM INFORMATION_SCHEMA.PARTITIONS where PARTITION_NAME is not null")
    defer rows.Close()
    if err != nil {
        panic(err.Error())
    }

    for rows.Next() {
        var tableName string
        var partitionName string
        if err := rows.Scan(&tableName, &partitionName); err != nil {
            panic(err.Error())
        }
        fmt.Println(tableName, partitionName)
    }
}

おお。思ったとおりの結果になったw

参考にさせて頂いたサイト様

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5