- Full-featured SQLite manager that supports all the standard commands
- Equipped with math.js to manipulate matrix data to extract information
- Equipped with Chart.js to plot 2D charts
- Load requested features from GitHub
What is the "SQLite Manager" extension and how does it work?
This extension aims to simplify SQLite database access, manipulation, and storage. Plus it helps you to plot the database rows and columns. You can even import a table or part of a table as a matrix into the mathematical environment and start manipulating the data like experts.
What's new in this version?
Please check the Logs section.
How can I use this tool?
When the extension is installed, press the toolbar button to open a new SQLite manager window. You can press the button one more time to open the second manager which is isolated from the first one. Each manager window can load multiple database files simultaneously. Just drop the file to the UI. When a file is dropped, you will see its name and its id in the top left side of the window. To change the active database, click on the select button and activate the database of interest. If you have no database to start with, use the top-right menu button to create a new database. You can create a new database from the command-line interface too. Just type
new("database-name.sqlite")command in the command-line text box and press the Enter key. You will notice that a new database gets created in memory and the left-top selection tool will display the name of the database. You can create multiple databases with the same command. Note that the name that is used during the database creation will be used as the file-name of the SQLite database when saving is requested. A list of all the created or imported databases will be shown in the right-top selection tool. Now let's create a new table with
CREATE TABLE hello (name char, x int, y int);command. Paste the command and then press the Enter key. You will notice that all the commands are listed so you can revisit them later. You can even fix a command and rerun it by pressing the Enter key! Now that we have our "hello" table, let's fill it with some data. If you need to write multiline SQL commands, use Shift + Enter keys to go to the next line of the editor without executing the command. Paste the following data to the table:
Now press the Enter key to save the points to the table. Let's make sure the points are in the table. We can query the entire table with the
INSERT INTO hello VALUES ("p1", 0, 0); INSERT INTO hello VALUES ("p2", 1, 1); INSERT INTO hello VALUES ("p3", 3, 3); INSERT INTO hello VALUES ("p4", 4, 2); INSERT INTO hello VALUES ("p5", 5, 4); INSERT INTO hello VALUES ("p6", 8, 10); INSERT INTO hello VALUES ("p7", 10, 120); INSERT INTO hello VALUES ("p8", 11, 0);
SELECT * FROM hellocommand. After executing this command we get a table with all the points! Now that we have the data available we can plot it too! But we need to import the table to math.js environment first. Basically, all the commands that are not valid SQLite commands will be run as math.js command. For instance, you can multiply two numbers with the
1 + 2command or you can create arrays with the following command:
so it seems very convenient to port our table to this powerful environment. You can do this by piping an SQLite command like
a = [1,2,3]; b = [1:10]; c = a * 2;
SELECT * FROM hello | import as myVar. From now on, the "myVar" is a variable that contains your table. To import a section of a table use the
SELECT x, y FROM hello LIMIT 3 | import as mySecondVarcommand. So we have our table in the math.js as a matrix. Now let's plot the table! To plot a table we will use the built-in "plot" command. This command requires one or two one-dimensional arrays. If only a single array is passed to the function, it is considered as the values in y-direction and the x-direction points will be generated automatically. To extract the 1D arrays from a column of the matrix use
myVar[:,1]and to extract 1D array from a row of the matrix use
myVar[1,:]where the "1" is the one-based row number. For our example, x and y arrays are located in the columns. So we get them like:
x = myVar[:,2]; y = myVar[:, 3];We are ready to plot with
plot(x, y)command! Note that at this time, plot function needs to be run in a new section to see the actual output.
How powerful this "math.js" library is and where can I find its documentation?
Is it possible to save the in-memory database for later use?
Yes, in the command-line type
download(db-id)where "db-id" is the ID for the database. ID number for each database is listed in the left-top selection tool.
I have a database but I don't know its table names to run the "SELECTION" query. Is there any way to find the table names?
Just drop the database to a manager window and use the command menu on the top-right side and find the command for inspecting the database. Note that if a table has too many entries, limit the printing by adding a "LIMIT number" to the query. For instance just to print the first 3 items in the "hello" table use
SELECT * FROM hello LIMIT 3command.
There is no sorting command in the printed table. How can I sort then?
SELECT * FROM hello ORDER BY x DESC.
Is it possible to draw multiple plots in a single chart to compare multiple results?
Yes, as of version 0.1.1, all the plot commands in a single computational box (active textbox) that are not followed by a semicolon are being plotted in a single chart with different colors. So to have multiple plots simply add the plot command in multiple lines and do not end the line with a semicolon. Note that all the math.js statements that are followed by a semicolon will be hidden from the output.
Can I export a table into a CSV format file?
Yes, any table that is shown in the view has an "Export" button on the top left side of it. Press this button and you will get
export.csvin the default download directory of your browser.
Can I import a CSV tabular file into my SQLite database?
When a file with *.csv format is dropped into the view, the extension converts the tabular data to an SQLite-friendly command. Review the command and press "Enter" to commit. Note that currently only comma-separated CVS database files are supported.
Is there an easy way to change a value in a printed table so that the change also apply to the SQLite database?
Double-click the table cell that you would like to change and the extension will open a floating commit box for you. Review the query and either accept or decline it. Note that the query needs a unique condition. If your table has "id" or "rowid" column in the original query the extension will use them for generating the "UPDATE" statement, otherwise, the first column is used to generate the condition. You can alter this query and then commit it. Note that the floating window, only supports one statement at the moment, so please do not modify multiple columns or rows in a single floating commit (if you have a complex query that affects more than one cell, it is recommended to use the normal commit box instead of the floating one)
What are the customization the plot function supports?
The Plot function supports the following customizations which are added like query string to the last parameter of this function (
plot(xArray, yArray, ‘key1=value1&key2=value, …’).
To have more than one plot, place each plot command in a single-line. This way multiple plots are being grouped together.
- type: Type of the plot
- line (e.g.:
- scatter (e.g.:
- bar (e.g.:
plot([60, -20, 100], “type=bar”))
- pie (e.g.:
plot([60, 40, 100], “type=pie”))
- doughnut (e.g.:
plot([60, 40, 100], “type=doughnut”))
- line (e.g.:
- label: Plot label. “$” will be replaced by plot’s index (e.g.:
plot(sin(1:10), “label=my #$ plot”))
- borderWidth: The width of the line in pixels (e.g.:
- backgroundColor: The fill color under the line (e.g.:
- borderColor: The color of the line (e.g.:
- hoverBackgroundColor: The fill color under the line when mouse is placed on top of the plot (e.g.:
plot([60, 20, 100], “type=bar&hoverBackgroundColor=red”))
- steppedLine: If the line is shown as a stepped line (e.g.:
- false: No Step Interpolation (default)
- true: Step-before Interpolation (eq. ‘before’)
- ‘before’: Step-before Interpolation
- ‘after’: Step-after Interpolation
- type: Type of the plot
|Please keep reviews clean, avoid the use of improper language and do not post any personal information.||HTML tags|
What's new in this version
Using SQL/SQLite and managing multiple databases is undoubtedly a challenging task. It requires certain expertise and skills to view and manipulate data from multiple resources. SQLite Manager browser extension aims to make the use of SQLite easy for everyone. Whether they live up to this claim or not, you will get to know by reading this in-depth review of this extension.
Permissions are explained
|storage||to save internal preferences|