DSN(Data source name) 初探
最近的服务需要到MySql中进行增删查改,数据库一直是自己的弱项,碰巧这个机会,好好补补这方面的知识点。第一步,链接数据库的地址,ip地址、端口、账号、密码和数据库名都给你了,怎么去组织这些字段,当然google都会有答案,更好的方式是彻底的理解。
维基百科(https://en.wikipedia.org/wiki/Data_source_name),给出的答案是:In computing, a data source name is a string that has an associated data structure used to describe a connection to a data source. 并且主要用于开放数据库的连接和Java数据库的连接。从用途和语言的角度,DSN的形式千变万化,但是主要作用都是对数据源进行连接,数据源可以是文件、数据库、系统和用户等。也可以在任意的语言形式中使用。
The Data Source Name has a common format, like e.g. PEAR DB uses it, but without type-prefix (optional parts marked by squared brackets):
1 | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
A DSN in its fullest form:
1 | username:password@protocol(address)/dbname?param=value |
Except for the databasename, all values are optional.
常用实例:
1 | user@unix(/path/to/socket)/dbname?charset=utf8 |
Ref: https://github.com/go-sql-driver/mysql
使用MySQL数据库
go中使用mysql的基本方式, 包括增删查改。使用模式基本为:
- stmt, err := db.Prepare() 建立基本连接
- res, err := stmt.Exec() 执行基本操作,输入参数填入第一步sql语句的洞中
1 | package main |