@robinpath/mysql
0.1.5Node.jsPublicMySQL/MariaDB client with connection pooling, parameterized queries, transactions, and CRUD operations
MySQL
MySQL/MariaDB client with connection pooling, parameterized queries, transactions, and CRUD operations
Package: @robinpath/mysql | Category: Database | Type: Utility
Authentication
mysql.connect {"host": "localhost", "user": "root", "database": "mydb"}
Call this once at the start of your script before using any other function. Credentials persist for the duration of the script execution.
Use Cases
Use the mysql module when you need to:
- Execute SQL query -- Use
mysql.queryto perform this operation - Insert a row -- Use
mysql.insertto perform this operation - Insert multiple rows -- Use
mysql.insertManyto perform this operation - Update rows -- Use
mysql.updateto perform this operation - Delete rows -- Use
mysql.removeto perform this operation
Quick Reference
| Function | Description | Returns |
|---|---|---|
connect | Connect to MySQL database | {name, connected} |
query | Execute SQL query | Query results |
insert | Insert a row | {insertId, affectedRows} |
insertMany | Insert multiple rows | {affectedRows} |
update | Update rows | {affectedRows} |
remove | Delete rows | {affectedRows} |
transaction | Execute queries in transaction | {success, results} |
tables | List all tables | Table names |
describe | Describe table structure | Column definitions |
count | Count rows | Row count |
close | Close connection pool | true |
closeAll | Close all connection pools | true |
Functions
connect
Connect to MySQL database
Module: mysql | Returns: object -- {name, connected}
mysql.connect {"host": "localhost", "user": "root", "database": "mydb"}
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | Yes | {host, port, user, password, database, name, connectionLimit} |
query
Execute SQL query
Module: mysql | Returns: array -- Query results
mysql.query "SELECT * FROM users WHERE id = ?" [1]
| Parameter | Type | Required | Description |
|---|---|---|---|
sql | string | Yes | SQL query |
params | array | No | Query parameters |
connection | string | No | Connection name |
insert
Insert a row
Module: mysql | Returns: object -- {insertId, affectedRows}
mysql.insert "users" {"name": "Alice", "email": "alice@example.com"}
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | Yes | Table name |
data | object | Yes | Column values |
connection | string | No | Connection name |
insertMany
Insert multiple rows
Module: mysql | Returns: object -- {affectedRows}
mysql.insertMany "users" [{"name": "Alice"}, {"name": "Bob"}]
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | Yes | Table name |
rows | array | Yes | Array of row objects |
connection | string | No | Connection name |
update
Update rows
Module: mysql | Returns: object -- {affectedRows}
mysql.update "users" {"name": "Bob"} "id = ?" [1]
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | Yes | Table name |
data | object | Yes | Columns to update |
where | string | Yes | WHERE clause |
params | array | No | WHERE params |
connection | string | No | Connection name |
remove
Delete rows
Module: mysql | Returns: object -- {affectedRows}
mysql.remove "users" "id = ?" [1]
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | Yes | Table name |
where | string | Yes | WHERE clause |
params | array | No | WHERE params |
connection | string | No | Connection name |
transaction
Execute queries in transaction
Module: mysql | Returns: object -- {success, results}
mysql.transaction [{"sql": "INSERT INTO users (name) VALUES (?)", "params": ["Alice"]}]
| Parameter | Type | Required | Description |
|---|---|---|---|
queries | array | Yes | Array of {sql, params} |
connection | string | No | Connection name |
tables
List all tables
Module: mysql | Returns: array -- Table names
mysql.tables
| Parameter | Type | Required | Description |
|---|---|---|---|
connection | string | No | Connection name |
describe
Describe table structure
Module: mysql | Returns: array -- Column definitions
mysql.describe "users"
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | Yes | Table name |
connection | string | No | Connection name |
count
Count rows
Module: mysql | Returns: number -- Row count
mysql.count "users" "active = ?" [true]
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | Yes | Table name |
where | string | No | WHERE clause |
params | array | No | WHERE params |
connection | string | No | Connection name |
close
Close connection pool
Module: mysql | Returns: boolean -- true
mysql.close
| Parameter | Type | Required | Description |
|---|---|---|---|
connection | string | No | Connection name |
closeAll
Close all connection pools
Module: mysql | Returns: boolean -- true
mysql.closeAll
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | No | Call with no arguments |
Error Handling
All functions throw on failure. Common errors:
| Error | Cause |
|---|---|
MySQL connection "..." not found. Call mysql.connect first. | Check the error message for details |
@desc "Query and validate result"
do
set $result as mysql.query "SELECT * FROM users WHERE id = ?" [1]
if $result != null
print "Success"
else
print "No result"
end
enddo
Recipes
1. Multi-step MySQL workflow
Chain multiple mysql operations together.
@desc "Connect, query, and more"
do
set $r_connect as mysql.connect {"host": "localhost", "user": "root", "database": "mydb"}
set $r_query as mysql.query "SELECT * FROM users WHERE id = ?" [1]
set $r_insert as mysql.insert "users" {"name": "Alice", "email": "alice@example.com"}
print "All operations complete"
enddo
2. Safe connect with validation
Check results before proceeding.
@desc "Connect and validate result"
do
set $result as mysql.connect {"host": "localhost", "user": "root", "database": "mydb"}
if $result != null
print "Success: " + $result
else
print "Operation returned no data"
end
enddo
Related Modules
- postgres -- PostgreSQL module for complementary functionality
- mongo -- Mongo module for complementary functionality
- redis -- Redis module for complementary functionality
- supabase -- Supabase module for complementary functionality
- firebase -- Firebase module for complementary functionality
Versions (1)
| Version | Tag | Published |
|---|---|---|
| 0.1.5 | latest | 1 months ago |
Related Modules
chart
JS@robinpathv0.1.2
Generate chart images (PNG/JPEG) using Chart.js. Supports bar, line, pie, doughnut, scatter, radar, polarArea, and bubble charts with auto-coloring and customizable titles, legends, and dimensions.
firebase
JS@robinpathv0.1.1
Firebase module for RobinPath.
graph
JS@robinpathv0.1.1
Graph data structures with BFS, DFS, Dijkstra's shortest path, topological sort, cycle detection, and connectivity
hotjar
JS@robinpathv0.1.1
Hotjar module for RobinPath.
$ robinpath add @robinpath/mysql
