Database (SQLite)
MUSHclient from version 4.40 onwards has support for accessing SQLite 3 databases.


  • Databases are created and manipulated purely by script commands, generally intended to be inside plugins.

  • You can have any number of databases open at once. Each one has a name which is used by the script to refer to it.

  • Databases can be purely "in memory" by using the filename ":memory:".



General technique


  • Open the database with DatabaseOpen

  • Execute "action" SQL statements with DatabaseExec

  • To query data from the database:


    • Prepare an SQL statement with DatabasePrepare
    • Get column names with DatabaseColumnName or DatabaseColumnNames
    • Step through each row with DatabaseStep
    • Get column values with DatabaseColumnValue or DatabaseColumnValues
    • After all rows are extracted, finalize the statement with DatabaseFinalize


  • Close the database with DatabaseClose



For more information, see:


http://www.gammon.com.au/forum/?id=9262


You can also use the Lua sqlite3 interface to work on SQLite databases, in Lua only.


See Also ...

Topics

DOC_lua_sqlite3 Lua SQLite (database) interface
DOC_scripting Scripting

Functions

FNC_DatabaseChanges DatabaseChanges (Returns a count of the changes to the database by the most recent SQL statement)
FNC_DatabaseClose DatabaseClose (Closes an SQLite database)
FNC_DatabaseColumnName DatabaseColumnName (Find the name of a specified column returned by an SQL statement)
FNC_DatabaseColumnNames DatabaseColumnNames (Return a table of all the columns returned by an SQL statement)
FNC_DatabaseColumns DatabaseColumns (Find how many columns will be returned by an SQL statement)
FNC_DatabaseColumnText DatabaseColumnText (Returns the contents of an SQL column, as text)
FNC_DatabaseColumnType DatabaseColumnType (Returns the type of data in an SQL column)
FNC_DatabaseColumnValue DatabaseColumnValue (Returns the contents of an SQL column, as text, float, integer, or null)
FNC_DatabaseColumnValues DatabaseColumnValues (Returns the contents of all the SQL columns after a step)
FNC_DatabaseError DatabaseError (Returns an English string describing the most recent SQL error)
FNC_DatabaseExec DatabaseExec (Executes SQL code against an SQLite database)
FNC_DatabaseFinalize DatabaseFinalize (Finalizes (wraps up) a previously-prepared SQL statement)
FNC_DatabaseInfo DatabaseInfo (Returns information about a database)
FNC_DatabaseLastInsertRowid DatabaseLastInsertRowid (Returns the most recently automatically allocated database key)
FNC_DatabaseList DatabaseList (Lists all databases)
FNC_DatabaseOpen DatabaseOpen (Opens an SQLite database)
FNC_DatabasePrepare DatabasePrepare (Prepares an SQL statement for execution)
FNC_DatabaseReset DatabaseReset (Resets a previously-prepared SQL statement to the start)
FNC_DatabaseStep DatabaseStep (Executes a previously-prepared SQL statement)
FNC_DatabaseTotalChanges DatabaseTotalChanges (Returns a count of the total changes to the database)

(Help topic: general=database)

DOC_contents Documentation contents page