Practice 50 Go Lang Database Interaction Coding Questions, TechnoVlogs

Practice 50 Go Lang Database Interaction Coding Questions


Q1. Write a Go program to connect to a MySQL database.  
  Input: 
  Database URL: "user:password@tcp(localhost:3306)/dbname"    
  Expected Output:  
  Connected to the database successfully.

Q2. Write a Go program to create a table in a MySQL database.  
  Input:    
  SQL query to create table: CREATE TABLE users (id INT, name VARCHAR(100), age INT)
  Expected Output:  
  Table created successfully.

Q3. Write a Go program to insert a record into a MySQL table.  
  Input:    
  SQL query to insert: INSERT INTO users (id, name, age) VALUES (1, 'John', 25)
  Expected Output:  
  Record inserted successfully.

Q4. Write a Go program to fetch all records from a MySQL table.  
  Input:    
  SQL query to fetch records: SELECT * FROM users
  Expected Output:  
  Records retrieved: [(1, 'John', 25), (2, 'Jane', 30)]

Q5. Write a Go program to update a record in a MySQL table.  
  Input:    
  SQL query to update: UPDATE users SET age = 26 WHERE id = 1
  Expected Output:  
  Record updated successfully.

Q6. Write a Go program to delete a record from a MySQL table.  
  Input:    
  SQL query to delete: DELETE FROM users WHERE id = 1
  Expected Output:  
  Record deleted successfully.

Q7. Write a Go program to check if a record exists in a MySQL table.  
  Input:    
  SQL query to check: SELECT COUNT(*) FROM users WHERE id = 1
  Expected Output:  
  Record exists: true

Q8. Write a Go program to count the number of records in a MySQL table.  
  Input:    
  SQL query to count: SELECT COUNT(*) FROM users
  Expected Output:  
  Total records: 2

Q9. Write a Go program to fetch records based on a condition from a MySQL table.  
  Input:    
  SQL query to fetch: SELECT * FROM users WHERE age > 25
  Expected Output:  
  Records retrieved: [(2, 'Jane', 30)]

Q10. Write a Go program to insert multiple records into a MySQL table.  
   Input:     
   SQL query to insert: INSERT INTO users (id, name, age) VALUES (1, 'John', 25), (2, 'Jane', 30)
   Expected Output:  
   Multiple records inserted successfully.

Q11. Write a Go program to handle errors while interacting with the database.  
   Input:     
   Invalid SQL query
   Expected Output:  
   Error: Syntax error or access violation

Q12. Write a Go program to interact with a PostgreSQL database to fetch records.  
   Input:     
   SQL query to fetch records: SELECT * FROM users
   Expected Output:  
   Records retrieved: [(1, 'John', 25), (2, 'Jane', 30)]

Q13. Write a Go program to update multiple records in a PostgreSQL table.  
   Input:     
   SQL query to update: UPDATE users SET age = age + 1 WHERE age < 30
   Expected Output:  
   Multiple records updated successfully.

Q14. Write a Go program to delete multiple records based on a condition in a MySQL table.  
   Input:     
   SQL query to delete: DELETE FROM users WHERE age < 30
   Expected Output:  
   Records deleted successfully.

Q15. Write a Go program to execute a transaction in a MySQL database.  
   Input:     
   Start transaction, insert a record, commit transaction
   Expected Output:  
   Transaction committed successfully.

Q16. Write a Go program to rollback a transaction in a MySQL database in case of error.  
   Input:     
   Start transaction, insert a record, error occurs, rollback transaction
   Expected Output:  
   Transaction rolled back due to error.

Q17. Write a Go program to retrieve specific columns from a MySQL table.  
   Input:     
   SQL query to fetch columns: SELECT name, age FROM users
   Expected Output:  
   Records retrieved: [('John', 25), ('Jane', 30)]

Q18. Write a Go program to fetch records with LIMIT from a MySQL table.  
   Input:     
   SQL query to fetch: SELECT * FROM users LIMIT 1
   Expected Output:  
   Records retrieved: [(1, 'John', 25)]

Q19. Write a Go program to create an index on a column in a MySQL table.  
   Input:     
   SQL query to create index: CREATE INDEX idx_age ON users(age)
   Expected Output:  
   Index created successfully.

Q20. Write a Go program to join two tables in a MySQL database.  
   Input:     
   SQL query to join: SELECT users.name, orders.amount FROM users INNER JOIN orders ON users.id = orders.user_id
   Expected Output:  
   Records retrieved: [('John', 200), ('Jane', 150)]

Q21. Write a Go program to fetch records using SQL GROUP BY in MySQL.  
   Input:     
   SQL query to group: SELECT age, COUNT(*) FROM users GROUP BY age
   Expected Output:  
   Records: [(25, 1), (30, 1)]

Q22. Write a Go program to fetch distinct values from a column in a MySQL table.  
   Input:     
   SQL query to fetch distinct values: SELECT DISTINCT age FROM users
   Expected Output:  
   Records: [25, 30]

Q23. Write a Go program to use a prepared statement to insert data into a MySQL table.  
   Input:     
   SQL query to insert with prepared statement: INSERT INTO users (id, name, age) VALUES (?, ?, ?)
   Expected Output:  
   Record inserted successfully using prepared statement.

Q24. Write a Go program to fetch a single record by primary key in MySQL.  
   Input:     
   SQL query to fetch by id: SELECT * FROM users WHERE id = 1
   Expected Output:  
   Record retrieved: (1, 'John', 25)

Q25. Write a Go program to use JOIN with multiple tables in MySQL.  
   Input:     
   SQL query to join: SELECT users.name, orders.amount, products.name FROM users INNER JOIN orders ON users.id = orders.user_id INNER JOIN products ON orders.product_id = products.id
   Expected Output:  
   Records: [('John', 200, 'Product A'), ('Jane', 150, 'Product B')]

Q26. Write a Go program to connect to a MongoDB database.  
   Input:     
   MongoDB URI: "mongodb://localhost:27017"
   Expected Output:  
   Connected to MongoDB successfully.

Q27. Write a Go program to insert a document into a MongoDB collection.  
   Input:     
   MongoDB document to insert: {"name": "John", "age": 25}
   Expected Output:  
   Document inserted successfully.

Q28. Write a Go program to fetch all documents from a MongoDB collection.  
   Input:     
   MongoDB query: db.users.find()
   Expected Output:  
   Documents retrieved: [{ "name": "John", "age": 25 }, { "name": "Jane", "age": 30 }]

Q29. Write a Go program to update a document in MongoDB.  
   Input:     
   MongoDB update: db.users.updateOne({"name": "John"}, {$set: {"age": 26}})
   Expected Output:  
   Document updated successfully.

Q30. Write a Go program to delete a document from MongoDB.  
   Input:     
   MongoDB delete: db.users.deleteOne({"name": "John"})
   Expected Output:  
   Document deleted successfully.

Q31. Write a Go program to connect to a SQLite database.  
   Input:     
   SQLite database file: "db.sqlite3"
   Expected Output:  
   Connected to SQLite database successfully.

Q32. Write a Go program to create a table in SQLite.  
   Input:     
   SQL query: CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)
   Expected Output:  
   Table created successfully in SQLite.

Q33. Write a Go program to insert a record into an SQLite table.  
   Input:     
   SQL query to insert: INSERT INTO users (name, age) VALUES ('John', 25)
   Expected Output:  
   Record inserted into SQLite successfully.

Q34. Write a Go program to fetch records from an SQLite table.  
   Input:     
   SQL query to fetch: SELECT * FROM users
   Expected Output: 
   Records: [(1, 'John', 25), (2, 'Jane', 30)]

Q35. Write a Go program to update a record in SQLite.  
   Input:     
   SQL query to update: UPDATE users SET age = 26 WHERE name = 'John'
   Expected Output:  
   Record updated successfully in SQLite.

Q36. Write a Go program to delete a record from SQLite.  
   Input:     
   SQL query to delete: DELETE FROM users WHERE name = 'John'
   Expected Output:  
   Record deleted successfully from SQLite.

Q37. Write a Go program to count records in an SQLite table.  
   Input:     
   SQL query to count: SELECT COUNT(*) FROM users
   Expected Output:  
   Total records: 2

Q38. Write a Go program to use database transactions in SQLite.  
   Input:     
   Start transaction, insert record, commit
   Expected Output:  
   Transaction committed successfully in SQLite.

Q39. Write a Go program to use a prepared statement in SQLite to insert data.  
   Input:     
   Prepared statement query: INSERT INTO users (name, age) VALUES (?, ?)
   Expected Output:  
   Record inserted using prepared statement in SQLite.

Q40. Write a Go program to fetch a specific record by ID in SQLite.  
   Input:     
   SQL query to fetch: SELECT * FROM users WHERE id = 1
   Expected Output:  
   Record retrieved: (1, 'John', 25)

Q41. Write a Go program to create a foreign key constraint in SQLite.  
   Input:     
   SQL query: CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER, FOREIGN KEY(user_id) REFERENCES users(id))
   Expected Output:  
   Foreign key constraint created successfully in SQLite.

Q42. Write a Go program to handle errors during database transactions in SQLite.  
   Input:     
   Start transaction, error occurs, rollback
   Expected Output:  
   Transaction rolled back due to error in SQLite.

Q43. Write a Go program to perform a simple aggregate function (COUNT) in PostgreSQL.  
   Input:     
   SQL query: SELECT COUNT(*) FROM users
   Expected Output:  
   Total records: 2

Q44. Write a Go program to retrieve unique values from a column in PostgreSQL.  
   Input:     
   SQL query: SELECT DISTINCT age FROM users
   Expected Output:  
   Records: [25, 30]

Q45. Write a Go program to join two tables with LEFT JOIN in PostgreSQL.  
   Input:     
   SQL query to left join: SELECT users.name, orders.amount FROM users LEFT JOIN orders ON users.id = orders.user_id
   Expected Output:  
   Records: [('John', 200), ('Jane', NULL)]

Q46. Write a Go program to perform a SELECT with WHERE clause in PostgreSQL.  
   Input:     
   SQL query: SELECT * FROM users WHERE age > 25
   Expected Output:  
   Records: [(2, 'Jane', 30)]

Q47. Write a Go program to use LIMIT with OFFSET in PostgreSQL.  
   Input:     
   SQL query: SELECT * FROM users LIMIT 1 OFFSET 1
   Expected Output:  
   Records: [(2, 'Jane', 30)]

Q48. Write a Go program to perform a GROUP BY operation in PostgreSQL.  
   Input:     
   SQL query: SELECT age, COUNT(*) FROM users GROUP BY age
   Expected Output:  
   Records: [(25, 1), (30, 1)]

Q49. Write a Go program to retrieve data from a PostgreSQL database using a WHERE IN clause.  
   Input:     
   SQL query: SELECT * FROM users WHERE age IN (25, 30)
   Expected Output:  
   Records: [(1, 'John', 25), (2, 'Jane', 30)]

Q50. Write a Go program to create a stored procedure in PostgreSQL.  
   Input:     
   SQL query: CREATE PROCEDURE get_user_by_age(age INT) LANGUAGE SQL AS $$ SELECT * FROM users WHERE age = $1; $$ 
   Expected Output:  
   Stored procedure created successfully.

Share on Social Media