Sling Academy
Home/SQLite/Mastering SQLite CLI: Basic Commands You Need to Know

Mastering SQLite CLI: Basic Commands You Need to Know

Last updated: December 06, 2024

SQLite is a popular self-contained SQL database engine primarily used for embedded database systems. One of its advantages is the ability to interface with it directly through the command-line interface (CLI). Knowing how to navigate SQLite's CLI is essential for quickly managing your databases without needing a graphical user interface. This guide will take you through the basic commands that every developer should master to effectively use SQLite CLI in their projects.

Getting Started with SQLite CLI

Before diving into commands, ensure SQLite is installed on your system. You can check this by opening your terminal and typing:

sqlite3 --version

If SQLite is installed, this will display the installed version. If not, you'll need to install it from the SQLite website or via your system's package manager.

Opening the SQLite CLI

To start the SQLite CLI, open your terminal and run:

sqlite3 path/to/database.db

If the specified database file doesn’t exist, this command will create it. Once you execute this, you'll see a prompt indicating that you're now within the SQLite environment.

Basic SQLite Commands

.tables

The .tables command is used to list all the tables in the database.

.tables

This is particularly useful to quickly see what data sources you have available to work with.

.schema

The .schema command provides the SQL code used to create the database structure. This is useful for understanding the makeup of the database:

.schema

SELECT Statement

The powerful and commonly used SQL SELECT statement fetches data from a database. Here's how you execute a simple query to retrieve all records from a table called 'users':

SELECT * FROM users;

Creating a Table

To create a table within your SQLite database, execute the CREATE TABLE command. For example, to create a simple table for users:

CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT NOT NULL UNIQUE
);

After executing this command, you can verify its creation with:

.tables

Inserting Data

Inserting data into tables is done using the INSERT INTO command. Here's an example inserting a user:

INSERT INTO users (name, email) VALUES ('Alice Doe', '[email protected]');

You can confirm this insertion by using the SELECT statement:

SELECT * FROM users;

Updating Data

To update existing records, use the UPDATE statement. Here’s how to change a user's email:

UPDATE users SET email = '[email protected]' WHERE name = 'Alice Doe';

Check your updates by selecting the modified records:

SELECT * FROM users WHERE name = 'Alice Doe';

Advanced SQLite CLI Commands

.import

Importing data from external CSV files into a table is easily done using:

.import /path/to/file.csv users

This command requires the CSV to be properly formatted to align with the table structure.

.exit

When you are done with your session, use:

.exit

This safely closes the SQLite environment and brings you back to the regular terminal.

Conclusion

Mastering these basic commands will help you efficiently manage your SQLite databases through the CLI. The ability to perform operations like creating tables, inserting, updating, and querying data directly from the command line enhances productivity and minimization of overhead in various development settings. Whether you're debugging or just performing routine database maintenance, the SQLite CLI is an invaluable tool for developers across multiple disciplines.

Next Article: Executing Your First SQL Commands with SQLite

Previous Article: Writing Code to Connect to SQLite: A Beginner's Guide

Series: Managing databases and tables in SQLite

SQLite

You May Also Like

  • How to use regular expressions (regex) in SQLite
  • SQLite UPSERT tutorial (insert if not exist, update if exist)
  • What is the max size allowed for an SQLite database?
  • SQLite Error: Invalid Value for PRAGMA Configuration
  • SQLite Error: Failed to Load Extension Module
  • SQLite Error: Data Type Mismatch in INSERT Statement
  • SQLite Warning: Query Execution Took Longer Than Expected
  • SQLite Error: Cannot Execute VACUUM on Corrupted Database
  • SQLite Error: Missing Required Index for Query Execution
  • SQLite Error: FTS5 Extension Malfunction Detected
  • SQLite Error: R-Tree Node Size Exceeds Limit
  • SQLite Error: Session Extension: Invalid Changeset Detected
  • SQLite Error: Invalid Use of EXPLAIN Statement
  • SQLite Warning: Database Connection Not Closed Properly
  • SQLite Error: Cannot Attach a Database in Encrypted Mode
  • SQLite Error: Insufficient Privileges for Operation
  • SQLite Error: Cannot Bind Value to Parameter
  • SQLite Error: Maximum String or Blob Size Exceeded
  • SQLite Error: Circular Reference in Foreign Key Constraints