企业网站建设规划的基本原则,phpcms旅游网站模板,视频号排名优化帝搜软件,网站建设急单1.10 GO连接MySQL
因为Go语言没有提供任何官方数据库驱动#xff0c;所以需要安装第三方函数库。由于在github上安装#xff0c;所以需要安装git软件#xff0c;安装过程一直点击下一步即可。安装完成后需要配置环境变量
1.10.1 安装git
git软件 安装完毕后#xff0c;配…1.10 GO连接MySQL
因为Go语言没有提供任何官方数据库驱动所以需要安装第三方函数库。由于在github上安装所以需要安装git软件安装过程一直点击下一步即可。安装完成后需要配置环境变量
1.10.1 安装git
git软件 安装完毕后配置git的环境变量这样可以使用get的指令 1.10.2 安装数据库驱动
设置GOPATH的环境变量这样驱动才会下载到项目根目录中。 在cmd命令窗口中输入如下命令安装驱动
go get github.com/go-sql-driver/mysql这一命令会从代码中获取驱动的具体代码并将这些代码放置到包库中当需要用到驱动的时候编译器会把驱动代码与用户编写的代码一同编译。安装完毕后会在GOPATH下看到下载的驱动 报错解决
https://blog.csdn.net/admin_jalen/article/details/123025833?ops_request_misc%257B%2522request%255Fid%2522%253A%2522169519102416800225569075%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257Drequest_id169519102416800225569075biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-123025833-null-null.142^v94^controlutm_term%20OpenSSL%20SSL_connect%3A%20SSL_ERROR_SYSCALL%20in%20connection%20to%20github.com%3A443spm1018.2226.3001.41871.10.3 连接数据库
1、在src目录下创建demo.go文件导入数据库驱动
import (database/sql_ github.com/go-sql-driver/mysql
)注意程序在操作数据库的时候只需要用到database/sql而不需要直接使用数据库驱动所以程序在导入数据库驱动的时候将这个包的名字设置成下划线。2、通过sql.open()连接数据库
sql.open(驱动名,数据源dsn)(*DB,err)数据源语法用户名:密码[连接方式](主机名:端口号)/数据库名注意open()在执行时不会真正的与数据库进行连接只是设置连接数据库需要的参数
ping()方法才是连接数据库3、执行SQL语句
创建测试表
mysql create table stu(- id int primary key,- name varchar(10)- );
Query OK, 0 rows affected (0.02 sec)操作数据
package mainimport (database/sql_ github.com/go-sql-driver/mysqlfmt
)func main(){//用户名:密码[连接方式](主机名:端口号)/数据库名db,_:sql.Open(mysql,root:root(127.0.0.1:3306)/itcast) // 设置连接数据库的参数defer db.Close() //关闭数据库err:db.Ping() //连接数据库if err!nil{fmt.Println(数据库连接失败)return}//操作一执行数据操作语句/*sql:insert into stu values (2,berry)result,_:db.Exec(sql) //执行SQL语句n,_:result.RowsAffected(); //获取受影响的记录数fmt.Println(受影响的记录数是,n)*///操作二执行预处理/*stu:[2][2] string{{3,ketty},{4,rose}}stmt,_:db.Prepare(insert into stu values (?,?)) //获取预处理语句对象for _,s:range stu{stmt.Exec(s[0],s[1]) //调用预处理语句}*///操作三单行查询/*var id,name stringrows:db.QueryRow(select * from stu where id4) //获取一行数据rows.Scan(id,name) //将rows中的数据存到id,name中fmt.Println(id,--,name)*///操作四多行查询rows,_:db.Query(select * from stu) //获取所有数据var id,name stringfor rows.Next(){ //循环显示所有的数据rows.Scan(id,name)fmt.Println(id,--,name)}
}