This SQLite tutorial teaches you everything you need to know to start using SQLite effectively. You will learn SQLite through extensive hands-on practices.
If you have been working with other relational database management systems such as MySQL, PostgreSQL, Oracle, Microsoft SQL Server and you heard about SQLite. And you are curious to know more about it.
If your friends recommended you use SQLite database instead of simple files to manage structured data in your applications. You want to get started with SQLite immediately to see if you can utilize it for your apps.
If you are just starting out learning SQL and want to use SQLite as the database system.
If you are one of the people described above, this SQLite tutorial is for you.
SQLite is an open source, zero-configuration, self-contained, stand-alone, transaction relational database engine designed to be embedded into an application.
Getting started with SQLite
You should go through this section if this is the first time you have worked with SQLite. Follow these 3-easy steps to get started with SQLite fast.
- First, we help you answer the first important question: what is SQLite? You will have a brief overview of SQLite before you start working with it.
- Second, we show you step by step how to download and install SQLite GUI tool on your computer.
- Third, we introduce you to an SQLite sample database and walk you through the steps of using the sample database for practicing.
Basic SQLite tutorial
This section presents basic SQL statements that you can use with SQLite. You will first start querying data from the sample database. If you are already familiar with SQL, you will notice the differences between SQL standard and SQL dialect in SQLite.
Section 1. Simple query
- SQLite Select – query data from a single table using
Section 2. Sorting rows
- SQLite Order By – sort the result set in ascending or descending order.
Section 3. Filtering data
- SQLite Select Distinct – query unique rows from a table using the
- SQLite Where – filter rows of a result set using various conditions.
- SQLite Limit – constrain the number of rows that you want to return. The
LIMITclause helps you get the necessary data returned by a query.
- SQLite BETWEEN – test whether a value is in a range of values.
- SQLite IN – check if a value matches any value in a list of value or subquery.
- SQLite Like – query data based on pattern matching using wildcard characters: percent sign (%) and underscore (_).
- SQLite Glob – determine whether a string matches a specific UNIX-pattern.
Section 4. Joining tables
- SQLite Inner Join – query data from multiple tables using inner join clause.
- SQLite Left Join – combine data from multiple tables using left join clause.
- SQLite Cross Join – show you how to use the cross join clause to produce a cartesian product of result sets of the tables involved in the join.
- SQLite Self Join – join a table to itself to create a result set that joins rows with other rows within the same table.
- SQLite Full Outer Join – show you how to emulate the full outer join in the SQLite using left join and union clauses.
Section 5. Grouping data
- SQLite Group By – combine a set of rows into groups based on specified criteria. The
GROUP BYclause helps you summarize data for reporting purposes.
- SQLite Having – specify the conditions to filter the groups summarized by the
Section 6. Set operators
- SQLite Union – combine result sets of multiple queries into a single result set. We also discuss the differences between
- SQLite Except – compare the result sets of two queries and returns distinct rows from the left query that are not output by the right query.
- SQLite Intersect – compare the result sets of two queries and returns distinct rows that are output by both queries.
Section 7. Subquery
- SQLite Subquery – introduce you to the SQLite subquery and correlated subquery.
- SQLite EXISTS – test for the existence of rows returned by a subquery.
Section 8. More querying techniques
- SQLite Case – add conditional logic to the query.
Section 9. Changing data
This section guides you how to update data in the table using insert, update, and delete statements.
- SQLite Insert – insert rows into a table
- SQLite Update – update existing rows in a table.
- SQLite Delete – delete rows from a table.
- SQLite Replace – insert a new row or replace the existing row in a table.
Section 10. Transactions
- SQLite Transaction – show you how to handle transactions.
Section 11. Data definition
In this section, we show you how to create database objects such as tables, views, indexes using SQL data definition language.
- SQLite Data Types – introduce you to the SQLite dynamic types system and its important concepts: storage classes, manifest typing, and type affinity.
- SQLite Create Table – show you how to create a new table in the database.
- SQLite Primary Key – show you how to define the primary key for a table.
- SQLite NOT NULL constraint – ensure values in a column are not NULL.
- SQLite UNIQUE constraint – ensure values in a column or a group of columns are unique.
- SQLite CHECK constraint – ensure the values in a column meet a specified condition defined by an expression.
- SQLite AUTOINCREMENT – explain how
AUTOINCREMENTattribute works and why you should avoid using it.
- SQLite Alter Table – show you how to use modify the structure of an existing table.
- SQLite Drop Table – guide you how to remove a table from the database.
- SQLite VACUUM – show you how to optimize database file.
Section 12. Views
- SQLite Create View – introduce you to the view concept and show you how to create a new view in the database.
Section 13. Indexes
- SQLite Index – teach you about the index and how to utilize indexes to speed up your queries.
- SQLite Index for Expressions – show you how to use the expression-based index.
Section 14. Triggers
- SQLite Trigger – manage triggers in SQLite database.
Section 15. Full-text search
- SQLite full-text search – get started with the full-text search in SQLite.
Section 16. SQLite tools
SQLite Programming Interfaces
If you want to know more information about SQLite, you can go through a well-organized SQLite resources page that contains links to useful SQLite sites.