diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 0000000..44706a1
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ mysql.8
+ true
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://43.143.245.135:3306/wangaodev
+ $ProjectFileDir$
+
+
+
\ No newline at end of file
diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml
new file mode 100644
index 0000000..4bb53ca
--- /dev/null
+++ b/.idea/sqldialects.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mysql/mysql_rowquery.go b/mysql/mysql_rowquery.go
new file mode 100644
index 0000000..06c83a2
--- /dev/null
+++ b/mysql/mysql_rowquery.go
@@ -0,0 +1,60 @@
+package main
+
+import (
+ "database/sql"
+ "fmt"
+ _ "github.com/go-sql-driver/mysql" //自动执行init()
+ "log"
+)
+
+var db *sql.DB //是一个数据库连接池对象
+
+func initDb() (err error) {
+ //数据库信息
+ dsn := "root:123456@tcp(43.143.245.135:3306)/wangaodev"
+ //连接数据库
+ db, err = sql.Open("mysql", dsn) //不会校验用户名和密码是否正确
+ if err != nil {
+ //dsn 格式不正确会报错
+ return err
+ }
+ //校验用户名和密码是否正确
+ //尝试连接数据库
+ err = db.Ping()
+ if err != nil {
+ return err
+ }
+ log.Printf("connect %s success.\n", dsn)
+ //设置最大连接数
+ db.SetMaxOpenConns(10)
+ //设置最大空闲连接数
+ db.SetMaxIdleConns(5)
+ return nil
+}
+
+// 表结构对象
+type user struct {
+ id int
+ name string
+ age int
+}
+
+// 查询单行数据
+func queryRow(id int) {
+ var u user
+ //查询单行记录的sql语句
+ sqlstr := "select id, name, age from user where id=?"
+ //执行并且拿到结果
+ db.QueryRow(sqlstr, id).Scan(&u.id, &u.name, &u.age) //从链接池中拿一个连接出来去数据库查询单条记录,scan方法自动释放连接,也就是必须调用scan方法
+ fmt.Printf("user:%#v\n", u)
+}
+
+// go链接mysql示例
+func main() {
+ err := initDb()
+ if err != nil {
+ log.Fatalf("init DB failed:%v", err)
+ }
+ log.Println("init DB success.")
+ queryRow(2)
+}