mysql(或其他数据库)
2019-02-14 15:39
246 查看
连接mysql(用sqlx库,不仅支持mysql,第一个参数还可以是别的数据库):
database, err := sqlx.Open("mysql", "root:password@tcp(127.0.0.1:3306)/dbname")
insert操作:
r, err := Db.Exec("insert into person(username, sex, email)values(?, ?, ?)", "stu001", "man", "stu01@qq.com")
package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) type Person struct { UserId int `db:"user_id"` Username string `db:"username"` Sex string `db:"sex"` Email string `db:"email"` } type Place struct { Country string `db:"country"` City string `db:"city"` TelCode int `db:"telcode"` } //此处的db是线程安全的,实现了连接池 var Db *sqlx.DB func init() { database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test") if err != nil { fmt.Println("open mysql failed,", err) return } Db = database } func main() { r, err := Db.Exec("insert into person(username, sex, email)values(?, ?, ?)", "stu001", "man", "stu01@qq.com") if err != nil { fmt.Println("exec failed, ", err) return } id, err := r.LastInsertId() if err != nil { fmt.Println("exec failed, ", err) return } fmt.Println("insert succ:", id) }
Select 操作:
err := Db.Select(&person, "select user_id, username, sex, email from person where user_id=?", 1)
package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) type Person struct { UserId int `db:"user_id"` Username string `db:"username"` Sex string `db:"sex"` Email string `db:"email"` } type Place struct { Country string `db:"country"` City string `db:"city"` TelCode int `db:"telcode"` } var Db *sqlx.DB func init() { database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test") if err != nil { fmt.Println("open mysql failed,", err) return } Db = database } func main() { var person []Person err := Db.Select(&person, "select user_id, username, sex, email from person where user_id=?", 1) if err != nil { fmt.Println("exec failed, ", err) return } fmt.Println("select succ:", person) }
update操作:
_, err := Db.Exec("update person set username=? where user_id=?", "stu0001", 1)
package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) type Person struct { UserId int `db:"user_id"` Username string `db:"username"` Sex string `db:"sex"` Email string `db:"email"` } type Place struct { Country string `db:"country"` City string `db:"city"` TelCode int `db:"telcode"` } var Db *sqlx.DB func init() { database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test") if err != nil { fmt.Println("open mysql failed,", err) return } Db = database } func main() { _, err := Db.Exec("update person set username=? where user_id=?", "stu0001", 1) if err != nil { fmt.Println("exec failed, ", err) return } }
Delete 操作:
_, err := Db.Exec("delete from person where user_id=?", 1)
package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) type Person struct { UserId int `db:"user_id"` Username string `db:"username"` Sex string `db:"sex"` Email string `db:"email"` } type Place struct { Country string `db:"country"` City string `db:"city"` TelCode int `db:"telcode"` } var Db *sqlx.DB func init() { database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test") if err != nil { fmt.Println("open mysql failed,", err) return } Db = database } func main() { _, err := Db.Exec("delete from person where user_id=?", 1) if err != nil { fmt.Println("exec failed, ", err) return } fmt.Println("delete succ") }
相关文章推荐
- mysql 数据库 局域网电脑访问其他电脑的数据库
- Mysql:语法:支持的和其他数据库开发商兼容的数据类型映射,或者说mysql的数据类型别名
- 分页类和页面,(MYSQL,其他数据库需更改SQL)
- php在执行mysql存储过程后执行其他数据库操作问题解决方法
- SC ConfigServer配置存储改为MySQL或其他数据库
- 用C#写了一个管理数据库的工具,目前是基于MySql,可轻松扩展至其他数据库。
- 把mysql脚本或其他数据库脚本导入Powerdesigner
- 多语言字符集和数据库(mysql)排序整理,其他数据库和网站等多语言环境也可参考
- MySQL 如何从其他主机连接数据库
- powerDesign 将mysql pdm转为 oracle 的pdm 或者是 某个数据库 pdm 转其他数据库的pdm
- 14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==) oracle:视图,索引,存储过程,触发器,游标,包,常用函数
- Oracle SQLServer MySQL查看当前所有数据库表名及其他信息
- 如何让其他计算机访问我的计算机上数据库mysql
- 主从同步成功,需要删除主数据库里的其他数据库就报这种错Event Scheduler: Failed to open table mysql.event
- navicat连接数据库慢,或者连接不上,其他远程连接MySQL正常,是什么原因?
- mysql 远程连接其他主机上的数据库 + 10038错误
- Oracle SQLServer MySQL查看当前所有数据库表名及其他信息
- 其他数据库模拟实现mysql的limit语法
- 第一天学习MySql(5)-数据库的事务和其他数据类型
- 借用mysql 或者其他数据库 处理MSSQL 2016前处理导入特殊字符