{"id":42590,"library":"db-action-mysql","title":"db-action-mysql","description":"db-action-mysql is a lightweight MySQL query builder and database action library for Node.js. Current stable version is 0.19.2. It provides a chainable API for building MySQL queries with parameterized inputs, supporting SELECT, INSERT, UPDATE, DELETE, and JOIN operations. Key differentiators include TypeScript support out of the box, minimal dependencies, and a focus on simplicity over ORM features. Releases are infrequent, focused on bug fixes.","status":"active","version":"0.19.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install db-action-mysql","lang":"bash","label":"npm"},{"cmd":"yarn add db-action-mysql","lang":"bash","label":"yarn"},{"cmd":"pnpm add db-action-mysql","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Underlying MySQL driver for database connections and queries","package":"mysql2","optional":false}],"imports":[{"note":"Package exports default export for the main database class.","wrong":"const db = require('db-action-mysql').default","symbol":"default","correct":"import db from 'db-action-mysql'"},{"note":"Named export for query building utilities.","wrong":"const { QueryBuilder } = require('db-action-mysql').default","symbol":"QueryBuilder","correct":"import { QueryBuilder } from 'db-action-mysql'"},{"note":"TypeScript-only imports for configuration and result types.","wrong":"import { DbConfig } from 'db-action-mysql' (const in value context)","symbol":"types","correct":"import type { DbConfig, QueryResult } from 'db-action-mysql'"}],"quickstart":{"code":"import db from 'db-action-mysql';\n\nconst connection = db.createConnection({\n  host: process.env.DB_HOST ?? 'localhost',\n  user: process.env.DB_USER ?? 'root',\n  password: process.env.DB_PASS ?? '',\n  database: process.env.DB_NAME ?? 'test'\n});\n\nasync function main() {\n  const rows = await connection.query(\n    db.select('users', ['id', 'name']).where({ active: true })\n  );\n  console.log(rows);\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Connects to a MySQL database, builds a SELECT query with a WHERE clause, and logs results."},"warnings":[{"fix":"Update imports: 'import db from ...' instead of 'import { Database } from ...'.","message":"v0.19.0 changed the default export from a class to a factory function.","severity":"breaking","affected_versions":">=0.19.0"},{"fix":"Switch to ES import syntax or use const db = require('db-action-mysql'); without .default.","message":"Use of direct require() with .default is deprecated in v0.18+.","severity":"deprecated","affected_versions":">=0.18.0"},{"fix":"Always use db.select(), db.insert(), etc., which handle escaping.","message":"Parameterized queries require using the query builder; raw strings may lead to SQL injection.","severity":"gotcha","affected_versions":"all"},{"fix":"Use mysql2 pool and pass pool.getConnection() to db.createConnection()?","message":"Connection pooling not built-in; you must manage pool manually via mysql2.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.19.2':25 'action':3,7,17 'api':30 'box':54 'bug':70 'build':32 'builder':14 'chainabl':29 'current':21 'databas':16 'db':2,6 'db-action-mysql':1,5 'delet':42 'depend':56 'differenti':47 'featur':64 'fix':71 'focus':59,68 'includ':48 'infrequ':67 'input':37 'insert':40 'javascript':72 'join':44 'key':46 'librari':18 'lightweight':11 'minim':55 'mysql':4,8,12,33 'node.js':20 'oper':45 'orm':63 'parameter':36 'provid':27 'queri':13,34 'releas':65 'select':39 'simplic':61 'stabl':22 'support':38,50 'typescript':49,73 'updat':41 'version':23","created_at":"2026-06-05T16:55:42.540509+00:00","updated_at":"2026-06-05T16:55:42.540509+00:00","problems":[{"fix":"Change to: import db from 'db-action-mysql'","cause":"Using wrong import or require pattern after v0.19.0.","error":"TypeError: db.createConnection is not a function"},{"fix":"Run: npm install --save db-action-mysql","cause":"Package not installed or version mismatch.","error":"Cannot find module 'db-action-mysql'"},{"fix":"Use: import db from 'db-action-mysql'; then db.select()","cause":"Using TypeScript without importing the default export correctly.","error":"Property 'select' does not exist on type 'typeof import...'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://gitlab.com/itayronen/db-action-mysql","github":null,"docs":null,"changelog":null,"pypi":null,"npm":"db-action-mysql","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}