3、请注意驱动程序的包名称 - 此处为github.com/go-sql-driver/mysql.
4、使用您的文本编辑器,创建一个用于编写 Go 代码的文件 , 并将该文件作为 main.go 保存在您之前创建的数据访问目录中 。
5、进入main.go,粘贴以下代码导入驱动包 。
在此代码中:
(1)将您的代码添加到main包中 , 以便您可以独立执行它 。
(2)导入 MySQL 驱动程序github.com/go-sql-driver/mysql 。
导入驱动程序后 , 您将开始编写代码以访问数据库 。
现在编写一些 Go 代码,让您使用数据库句柄访问数据库 。
您将使用指向结构的指针sql.DB,它表示对特定数据库的访问 。
编写代码
1、进入 main.go,在import您刚刚添加的代码下方,粘贴以下 Go 代码以创建数据库句柄 。
在此代码中:
(3)使用 MySQL 驱动程序Config和FormatDSN类型以收集连接属性并将它们格式化为连接字符串的 DSN 。
该Config结构使代码比连接字符串更容易阅读 。
(4)调用sql.Open 初始化db变量,传递 FormatDSN 。
(5)检查来自 的错误sql.Open 。例如,如果您的数据库连接细节格式不正确,它可能会失败 。
为了简化代码,您调用log.Fatal结束执行并将错误打印到控制台 。在生产代码中 , 您会希望以更优雅的方式处理错误 。
(6)调用DB.Ping以确认连接到数据库有效 。在运行时 , sql.Open可能不会立即连接,具体取决于驱动程序 。您在Ping此处使用以确认 database/sql包可以在需要时连接 。
(7)检查来自Ping的错误,以防连接失败 。
(8)Ping如果连接成功 , 则打印一条消息 。
文件的顶部现在应该如下所示:
3、保存 main.go 。
1、开始跟踪 MySQL 驱动程序模块作为依赖项 。
使用go get 添加 github.com/go-sql-driver/mysql 模块作为您自己模块的依赖项 。使用点参数表示“获取当前目录中代码的依赖项” 。
2、在命令提示符下,设置Go 程序使用的DBUSER和DBPASS环境变量 。
在 Linux 或 Mac 上:
在 Windows 上:
3、在包含 main.go 的目录中的命令行中,通过键入go run来运行代码 。
连接成功了go语言多表联合查询!
接下来 , 您将查询一些数据 。
C#中如何用datagridview实现多表联查?如果要显示两张数据库表go语言多表联合查询的记录go语言多表联合查询,最简单的方法是检索时将两张表中你要的数据一次检索出来go语言多表联合查询,放入同一个DataTable来显示 。
如果要显示两个以上DataTable中的数据go语言多表联合查询,则需要将DataTable放入DataSet并建立relation就可以显示了 。
下面是刚做的一个例子 。另外 , 父表一定要有主键 。建立关联时要用主键 。
private void button1_Click(object sender, System.EventArgs e)
{
DataTable dtName = new DataTable("NameDt");
dtName.Columns.Add("ID", typeof(string));
dtName.Columns.Add("Name", typeof(string));
dtName.PrimaryKey = new DataColumn[] {dtName.Columns["ID"] };
dtName.Rows.Add("1", "Name1");
DataTable dtAddress = new DataTable("AddressDt");
dtAddress.Columns.Add("ID", typeof(string));
dtAddress.Columns.Add("Address", typeof(string));
dtAddress.Rows.Add("1", "Address1");
dtAddress.Rows.Add("1", "Address2");
DataSet ds = new DataSet();
ds.Tables.Add(dtName);
ds.Tables.Add(dtAddress);
// 关键go语言多表联合查询!建立表之间的关联
ds.Relations.Add("ForName", dtName.Columns["ID"], dtAddress.Columns["ID"]);
// 在子表中添加计算列,引用父表的数据 。
dtAddress.Columns.Add("Name", typeof(string), "Parent(ForName).Name");
推荐阅读
- 鼓励大家关注公司公众号,让员工关注公司公众号,怎么和员工解释
- php数据查询多个平均数,php简单查询
- 华为鸿蒙热点怎么设置一人,鸿蒙怎么设置热点只允许一台
- 直播新设备转手,直播新设备转手怎么操作
- java代码连接外部接口 java 外部接口
- 包含linux敲命令有什么用的词条
- htmlcss实现京东页面,京东网页html
- erp系统源码开发的,erp系统源代码
- 包含用python主函数是的词条