Introduction to any-db
any-db is a powerful library designed to work with various SQL databases through a single unified API. This makes it easier for developers to switch databases or use multiple databases without needing to learn different APIs. Below are dozens of useful API explanations with practical examples.
Getting Started with any-db
To use any-db, you need to install it first:
npm install any-db
Creating a Connection
Creating a connection is straightforward:
const anyDB = require('any-db');
const connection = anyDB.createConnection('driver://user:pass@hostname/dbname');
Querying the Database
Running a query is simple:
connection.query('SELECT * FROM users', function (error, result) {
if (error) throw error;
console.log(result.rows);
});
Parameterized Queries
Parameterized queries help prevent SQL injection:
connection.query('SELECT * FROM users WHERE id=$1', [1], function (error, result) {
if (error) throw error;
console.log(result.rows);
});
Connection Pooling
Using a connection pool for better performance:
const pool = anyDB.createPool('driver://user:pass@hostname/dbname', {
min: 2,
max: 10
});
pool.query('SELECT * FROM users', function (error, result) {
if (error) throw error;
console.log(result.rows);
});
Streamed Queries
Stream query results for processing large datasets:
const query = connection.query('SELECT * FROM very_large_table');
query.on('row', function (row) {
console.log(row);
});
query.on('end', function () {
console.log('All rows have been processed.');
});
Transactions
Using transactions to ensure data integrity:
connection.query('BEGIN', function (error) {
if (error) throw error;
connection.query('INSERT INTO users (name) VALUES ($1)', ['John'], function (error) {
if (error) {
connection.query('ROLLBACK', function () {
throw error;
});
} else {
connection.query('COMMIT', function (error) {
if (error) throw error;
console.log('Transaction committed.');
});
}
});
});
Error Handling
Error handling during database operations:
connection.query('SELECT * FROM non_existing_table', function (error, result) {
if (error) {
console.error('An error occurred:', error.message);
} else {
console.log(result.rows);
}
});
Application Example
Below is a simple Node.js application example using any-db:
const anyDB = require('any-db');
const express = require('express');
const app = express();
const pool = anyDB.createPool('driver://user:pass@hostname/dbname', {
min: 2,
max: 10
});
// Endpoint to get all users
app.get('/users', (req, res) => {
pool.query('SELECT * FROM users', (error, result) => {
if (error) {
res.status(500).send('Database error!');
} else {
res.json(result.rows);
}
});
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
any-db simplifies database operations across multiple database systems, making it an excellent choice for versatile and efficient database management.
Hash: 0ca47c10ae24467cb9eef9f61fb4fe248cd9884915a79e93bfcd8dddaec5f35c