ComboStrap - How to query the database

How-to

This page will show you how to query the database online.

Steps

Go to the admin page

Go to the Sqlite Interface

The SQLite interface is a webpage that permits to send statement to the SQLite database.

To access it directly, the URL is https://yourdomain.com/?do=admin&page=sqlite

Choose the database

Choose the Combo database.

If you were users:

  • of the 404Manager, the database may be named 404manager
  • of the webcomponent plugin, the database may be named webcomponent

The URL to access your database will look like the following URL

https://yourdomain.com/?do=admin&page=sqlite&db=combo&version=sqlite3

Enter your query and submit

Enter the analytical query and submit.

You can try the below query that returns statistics over words.

select
	count(*) as page_count,
	round(word_count) as word_avg,
	sum(word_count) as word_count,
	max(word_count) as word_max,
	min(word_count) as word_min
from
	(
	select
		id,
		word_count
	from
		pages
	)

Advanced: Json Support

If you want to query, the analytics json data, you need to have sqlite with json support.

This steps shows you how to validate that your SQLite database can query JSON.

  • The sqlite database version should then be greater or equal to SQLite 3.9.0 (2015-10-14).
select sqlite_version();
^ sqlite_version ^
| 3.28.0 |
  • The json module should be present when executing the below SQL.
PRAGMA compile_options;
^ compile_options ^
| ENABLE_JSON1 |

If you have Json enable, you can extract all information in the analytics file.

For instance, the above query can be translated to this query with the json analytics column

select
	count(*) as page_count,
	round(word_count) as word_avg,
	sum(word_count) as word_count,
	max(word_count) as word_max,
	min(word_count) as word_min
from
	(
	select
		id,
		json_extract(analytics , '$.statistics.words') as word_count
	from
		pages
	)

If you don't have the JSON extension or can't install it, you can always download the database file and query it locally for instance with dbeaver

Powered by ComboStrap