# class Database The `Database` class represents a connection that can prepare and execute SQL statements. ## Methods ### new Database(path, [options]) ⇒ Database Creates a new database connection. | Param | Type | Description | | ------- | ------------------- | ------------------------- | | path | string | Path to the database file | | options | object | Options. | The `path` parameter points to the SQLite database file to open. If the file pointed to by `path` does not exists, it will be created. To open an in-memory database, please pass `:memory:` as the `path` parameter. The function returns a `Database` object. ### prepare(sql) ⇒ Statement Prepares a SQL statement for execution. | Param | Type | Description | | ------ | ------------------- | ------------------------------------ | | sql | string | The SQL statement string to prepare. | The function returns a `Statement` object. This function is currently not supported. ### transaction(function) ⇒ function Returns a function that runs the given function in a transaction. | Param | Type | Description | | -------- | --------------------- | ------------------------------------- | | function | function | The function to run in a transaction. | This function is currently not supported. ### pragma(string, [options]) ⇒ results This function is currently not supported. ### backup(destination, [options]) ⇒ promise This function is currently not supported. ### serialize([options]) ⇒ Buffer This function is currently not supported. ### function(name, [options], function) ⇒ this This function is currently not supported. ### aggregate(name, options) ⇒ this This function is currently not supported. ### table(name, definition) ⇒ this This function is currently not supported. ### loadExtension(path, [entryPoint]) ⇒ this Loads a SQLite3 extension This function is currently not supported. ### exec(sql) ⇒ this Executes a SQL statement. | Param | Type | Description | | ------ | ------------------- | ------------------------------------ | | sql | string | The SQL statement string to execute. | This function is currently not supported. ### interrupt() ⇒ this Cancel ongoing operations and make them return at earliest opportunity. **Note:** This is an extension in libSQL and not available in `better-sqlite3`. This function is currently not supported. ### close() ⇒ this Closes the database connection. This function is currently not supported. # class Statement ## Methods ### run([...bindParameters]) ⇒ object Executes the SQL statement and returns an info object. | Param | Type | Description | | -------------- | ----------------------------- | ------------------------------------------------ | | bindParameters | array of objects | The bind parameters for executing the statement. | The returned info object contains two properties: `changes` that describes the number of modified rows and `info.lastInsertRowid` that represents the `rowid` of the last inserted row. This function is currently not supported. ### get([...bindParameters]) ⇒ row Executes the SQL statement and returns the first row. | Param | Type | Description | | -------------- | ----------------------------- | ------------------------------------------------ | | bindParameters | array of objects | The bind parameters for executing the statement. | This function is currently not supported. ### all([...bindParameters]) ⇒ array of rows Executes the SQL statement and returns an array of the resulting rows. | Param | Type | Description | | -------------- | ----------------------------- | ------------------------------------------------ | | bindParameters | array of objects | The bind parameters for executing the statement. | This function is currently not supported. ### iterate([...bindParameters]) ⇒ iterator Executes the SQL statement and returns an iterator to the resulting rows. | Param | Type | Description | | -------------- | ----------------------------- | ------------------------------------------------ | | bindParameters | array of objects | The bind parameters for executing the statement. | This function is currently not supported. ### pluck([toggleState]) ⇒ this This function is currently not supported. ### expand([toggleState]) ⇒ this This function is currently not supported. ### raw([rawMode]) ⇒ this Toggle raw mode. | Param | Type | Description | | ------- | -------------------- | --------------------------------------------------------------------------------- | | rawMode | boolean | Enable or disable raw mode. If you don't pass the parameter, raw mode is enabled. | This function enables or disables raw mode. Prepared statements return objects by default, but if raw mode is enabled, the functions return arrays instead. This function is currently not supported. ### columns() ⇒ array of objects Returns the columns in the result set returned by this prepared statement. This function is currently not supported. ### bind([...bindParameters]) ⇒ this This function is currently not supported.