go語言怎么和mysql數(shù)據(jù)庫進行鏈接_MySQL教程
推薦:mysql給用戶添加查詢權(quán)限grant select on *.* to tianq@localhost identified by tianq;
在網(wǎng)上找了一大堆例子,最后簡化一下把,一下會從安裝mysql開始,與大家分享一下如何用go鏈接服務(wù)器上的mysql
我用的是ubuntu系統(tǒng)
1,安裝mysql:sudo apt-get install mysql-server (記住root的密碼假設(shè)密碼為root123)
2,進入mysql:mysql -uroot -p 然后輸入密碼
3,創(chuàng)建一個數(shù)據(jù)庫:create database people;
4,給數(shù)據(jù)庫people添加用戶:GRANT ALL PRIVILEGES ON people.* TO peo@localhost IDENTIFIED BY "peo123";
5,調(diào)整數(shù)據(jù)庫配置以便于遠(yuǎn)程訪問:GRANT ALL PRIVILEGES ON people.* TO peo@“%” IDENTIFIED BY "peo123"; 然后推出mysql執(zhí)行:sudo nano /etc/mysql/my.cnf
修改bind-address=127.0.0.1 到bind-address= 機器的IP(就是安裝mysql的機器的ip)
6,重啟mysql:sudo /etc/init.d/mysql restart
7,建表:首先進入mysql:mysql -u peo -p
進入數(shù)據(jù)庫下:use people
創(chuàng)建表:create table hello(age int, name varchar(10));
插入一條數(shù)據(jù):insert into hello(age, name) values(19, "hello world");
至此數(shù)據(jù)庫方面的工作已經(jīng)做好,接下來是go語言了
8,首先下載mysql的驅(qū)動包(應(yīng)該是這樣叫)執(zhí)行 go get github.com/go-sql-driver/mysql代碼會下載到你的gopath下(執(zhí)行export可以查看gopath)
接著就是下面的代碼了
package main
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
import "encoding/json"
import "fmt"
type User struct {
Age int `json:"age"`
Name string `json:"name"`
}
func main() {
fmt.Println("start")
db, err := sql.Open("mysql", "peo:peo123@tcp(192.168.0.58:3306)/people?charset=utf8")
if err != nil {
panic(err)
}
rows, err := db.Query("select age,name from hello")
if err != nil {
panic(err)
}
defer rows.Close()
for rows.Next() {
user := &User{}
err = rows.Scan(&user.Age, &user.Name)
if err != nil {
painc(err)
}
b, _ := json.Marshal(user)
fmt.Println(string(b))
}
println("end")
}
至此結(jié)束
分享:SQL中l(wèi)eftjoin和innerjoin配合使用left join on 是左外聯(lián)接,數(shù)據(jù)以左邊的表為基準(zhǔn),右邊的表數(shù)據(jù)哪怕為null也會查詢出來, 而inner join on則是左右兩邊的表的數(shù)據(jù)必須相互對應(yīng),如果有null則會去掉該條數(shù)據(jù),如果 右邊或者左邊表的數(shù)據(jù)都為null,則查詢出來是沒有結(jié)果集的。兩個聯(lián)接配合起來使用效果
- mysql給用戶添加查詢權(quán)限
- SQL中l(wèi)eftjoin和innerjoin配合使用
- SQL 2000怎么向SQL 2008 R2推送數(shù)據(jù)?
- MySQL導(dǎo)入導(dǎo)出數(shù)據(jù)出現(xiàn)亂碼的解決辦法
- sql語句中刪除表數(shù)據(jù)drop、truncate和delete的用法
- 安裝sql server 2008 報錯等問題怎么解決
- Mysql教程之Windows 7/8下連接本地MySQL慢怎么辦
- MSSQL清空日志刪除日志文件
- 關(guān)于數(shù)據(jù)庫中保留小數(shù)位的問題
- 解析mysql與Oracle update的區(qū)別
- mysql 導(dǎo)入導(dǎo)出數(shù)據(jù)庫以及函數(shù)、存儲過程的介紹
- MySQL——修改root密碼的4種方法(以windows為例)
MySQL教程Rss訂閱編程教程搜索
MySQL教程推薦
猜你也喜歡看這些
- SQL Server 2005查看文件及文件組的語句
- Win7 32/64位系統(tǒng)下安裝SQL2005和SP3補丁安裝教程[圖文]
- sql2008 還原數(shù)據(jù)庫解決方案
- 關(guān)于Oracle數(shù)據(jù)庫與SQL Server數(shù)據(jù)庫鏡像的關(guān)系
- SQL Server大數(shù)據(jù)量統(tǒng)計系統(tǒng)的經(jīng)驗總結(jié)
- 如何檢測SQL Server是否有特洛伊木馬
- 怎樣將索引碎片數(shù)量降至最低
- 解讀sql server注冊表操作相關(guān)的幾個未公開過程
- 淺談Oracle數(shù)據(jù)庫開發(fā)技術(shù)經(jīng)驗
- 比較SQL Server數(shù)據(jù)庫導(dǎo)入導(dǎo)出數(shù)據(jù)方式
- 相關(guān)鏈接:
- 教程說明:
MySQL教程-go語言怎么和mysql數(shù)據(jù)庫進行鏈接。