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

From Parallel Library Services
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
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
Line 66: Line 70:


[[Category:Cookbook]]
[[Category:Cookbook]]
[[Category:Sqlite]]
[[Category:SQLite]]

Latest revision as of 19:02, 23 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