Difference between revisions of "Search an SQL database using sqlite3"

From Parallel Library Services
Jump to navigation Jump to search
Line 18: Line 18:
</syntaxhighlight>
</syntaxhighlight>


=== Displaying tables and columns ===
You can then display tables with:
You can then display tables with:


Line 49: Line 50:
</syntaxhighlight>
</syntaxhighlight>


You can also display detailed views of the contents of tables, with
=== Getting a list of column names ===


An alternative way to get a list of column names not mentioned here that is cross platform and does not rely on the sqlite3.exe shell is to select from the <code>PRAGMA_TABLE_INFO()</code> table value function.
An alternative way to get a list of column names not mentioned here that is cross platform and does not rely on the sqlite3.exe shell is to select from the <code>PRAGMA_TABLE_INFO()</code> table value function.
Line 59: Line 60:
rootpage   
rootpage   
sql
sql
</syntaxhighlight>
You can check if a certain column exists by querying:
You can check if a certain column exists by querying:


<syntaxhighlight lang="SQL" line>
SELECT 1 FROM PRAGMA_TABLE_INFO('your_table') WHERE name='column1';
SELECT 1 FROM PRAGMA_TABLE_INFO('your_table') WHERE name='column1';
1
1

Revision as of 16:55, 14 November 2021

https://www.sqlite.org/index.html

sqlite implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine to query .sql files.

Getting started

To use sqlite, you must have a valid metadata file with a .db file extension, and an installed version of SQL. This tutorial assumes knowledge of the command line.

To start the sql engine, type:

sqlite3

The prompt will change, showing that the sqlite engine has been initialised. To open a metadata file, type:

.open filename.db

Displaying tables and columns

You can then display tables with:

.tables

Based on what is returned, you can then query the content of each table with commands such as:

SELECT * FROM mytable;

You may want to have a more human-readable view of the data that is printed in the terminal, by organising the headings and columns:

.headers ON
.mode column

You will get output like:

.headers on
.mode column
select * from mytable;
id          foo         bar
----------  ----------  ----------
1           val1        val2
2           val3        val4

Getting a list of column names

An alternative way to get a list of column names not mentioned here that is cross platform and does not rely on the sqlite3.exe shell is to select from the PRAGMA_TABLE_INFO() table value function.

SELECT name FROM PRAGMA_TABLE_INFO('your_table');
name      
tbl_name  
rootpage  
sql

You can check if a certain column exists by querying:

SELECT 1 FROM PRAGMA_TABLE_INFO('your_table') WHERE name='column1';
1