main.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package main
  2. import (
  3. "database/sql"
  4. "fmt"
  5. _ "github.com/taosdata/driver-go/v3/taosSql"
  6. "log"
  7. "time"
  8. )
  9. func main() {
  10. var taosDSN = "root:taosdata@tcp(192.168.0.153:6030)/test"
  11. taos, err := sql.Open("taosSql", taosDSN)
  12. if err != nil {
  13. log.Fatalln("failed to connect TDengine, err:", err)
  14. return
  15. }
  16. defer taos.Close()
  17. rows, err := taos.Query("select * from test1")
  18. if err != nil {
  19. fmt.Println("failed to select from table, err:", err)
  20. return
  21. }
  22. // 测试读取数据
  23. defer rows.Close()
  24. for rows.Next() {
  25. var r struct {
  26. ts time.Time
  27. a int
  28. }
  29. err := rows.Scan(&r.ts, &r.a)
  30. if err != nil {
  31. fmt.Println("scan error:\n", err)
  32. return
  33. }
  34. fmt.Println(r.ts, "---", r.a)
  35. }
  36. // 测试查询统计数据
  37. rows2, err := taos.Exec("select sum(a) from test1")
  38. if err != nil {
  39. fmt.Println("failed to select from table, err:", err)
  40. return
  41. }
  42. for rows.Next() {
  43. var r struct {
  44. ts time.Time
  45. a int
  46. }
  47. err := rows.Scan(&r.ts, &r.a)
  48. if err != nil {
  49. fmt.Println("scan error:\n", err)
  50. return
  51. }
  52. fmt.Println(r.ts, "---", r.a)
  53. }
  54. }