
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.