Learning Golang: Relational Databases using MySQL



Learning Golang: Relational Databases using MySQL

Learning Golang: Relational Databases using MySQL

In this episode I cover how to interact with using MySQL in Go/Golang, this is via the “database/sql” package in the standard library.

In the previous I introduced “database/sql” but I used “pgx”, a driver for PostgreSQL, in this case we are going to be using “go-sql-driver/mysql” and call out the differences compared to the PostgreSQL package.

Practically the biggest three differences are:

* Placeholders are defined by the character “?” instead of sequential dollar values
* “mysql.Config” should be used for creating a valid DSN value instead of url.URL
* “go-sql-driver/mysql” does not provide a MySQL-only API, so we have to use “database/sql” instead.

== Relevant links

■ Example code: https://github.com/MarioCarrion/videos/tree/0cb79c49f39e62b265e4e545a30169dd2e2d9d8f/2021/12/09
■ Learning Golang: Relational Databases – Introduction to database/sql: https://youtu.be/2XCaKYH0Ydo
■ Learning Golang: Dependencies, Modules and How to manage Packages: https://youtu.be/20sLKEpHvvk
■ Learning Go/Golang: https://www.youtube.com/playlist?list=PL7yAAGMOat_F7bOImcjx4ZnCtfyNEqzCy
■ Learning Relational Databases in Go/Golang: https://www.youtube.com/playlist?list=PL7yAAGMOat_EgwoQTvNUflrYL_4qzdB7f
■ Go MySQL Driver is a MySQL driver for Go’s (golang) database/sql package: https://github.com/go-sql-driver/mysql
■ https://pkg.go.dev/github.com/go-sql-driver/mysql#Config

== All Go/Golang Playlists

■ Building Microservices in Go/Golang: https://www.youtube.com/playlist?list=PL7yAAGMOat_Fn8sAXIk0WyBfK_sT1pohu
■ Go/Golang Tools and Packages: https://www.youtube.com/playlist?list=PL7yAAGMOat_HEEOvH99agDs_5g51A0Ls3
■ Learning Concurrency Patterns in Go/Golang: https://www.youtube.com/playlist?list=PL7yAAGMOat_Fhj_px_DzNzTsXs-mRwv1t
■ Software Architecture in Go/Golang: https://www.youtube.com/playlist?list=PL7yAAGMOat_GCd12Lrv_evJ3Zhv1dl8B-
■ Testing in Go/Golang: https://www.youtube.com/playlist?list=PL7yAAGMOat_HSeW4zF0uRL9EaHadE4ZZq

== Socials

■ https://twitter.com/MarioCarrion
■ https://www.instagram.com/mario.carrion
■ https://linkedin.com/in/MarioCarrion

00:00 – Start
00:25 – Introduction to go-sql-driver/mysql for Go/Golang
00:41 – Importing go-sql-driver/mysql and using it with Docker
03:48 – Using go-sql-driver/mysql
10:44 – Conclusion

=== Who am I?

Hello👋🏼! I’m Mario, a Hands-on Software Architect and Lead Backend Engineer with more than 16 years of professional experience building all kinds of software including on-premise Industrial Automation Systems, Linux Accessibility Desktop and Browser Components as well as Distributed Advertising Microservices.

Every week I will share with you different topics I’ve learned while working for small startups and large companies including the processes I’ve followed over the years for successfully delivering complex enterprise systems from start to end.

Subscribe if you like Software Development, Software Architecture and Systems Design!

Keep it up. Don’t give up!

#golang #tutorial #mysql

=== Our Vlog Channel

https://www.youtube.com/c/RubyCarrion/videos

=== Our affiliate links below

■ My Amazon Storefront: https://www.amazon.com/shop/rubycarrion
■ Shop my IG posts on my shopLTK page: https://www.shopltk.com/explore/RubyCarrion
■ Vlog camera: Sony RX100 VII https://amzn.to/3qQfvMc
■ Other vlog cameras and gear: https://rubycarrion.com/vlogcamerasandgear/
■ Shop through my links to support the channel: https://rubycarrion.com/shop-my-links/
■ Get a 30 day FREE Trial of Epidemic Sound: https://www.epidemicsound.com/referral/szx441/
■ Join Rakuten for FREE and get $30 when you spend $30: https://www.rakuten.com/r/RUBYRA132?eeid=28187

DISCLAIMER: Some of the links shared in the description are affiliate links. As a member of these affiliate programs, I earn a small commission from your purchases at no additional cost to you. I appreciate your support! 💖

Comments are closed.