Home Backend Development PHP Tutorial Getting Started with SQLite3: Basic Commands

Getting Started with SQLite3: Basic Commands

Feb 18, 2025 am 11:22 AM

SQLite: A Comprehensive Guide to Basic Commands

SQLite is a lightweight, serverless SQL database engine implemented as a C library. Unlike client-server databases like MySQL, SQLite operates directly from disk files, eliminating the need for server requests. This makes it ideal for embedded systems and applications requiring local data storage.

Getting Started with SQLite3: Basic Commands

Key Features:

  • Serverless: Direct disk access simplifies deployment and reduces overhead.
  • Cross-platform: Portable database files work across various operating systems.
  • Lightweight: Minimal resource consumption makes it suitable for resource-constrained environments.
  • Standard SQL Compliance: Supports a significant subset of standard SQL commands.

Getting Started:

We'll use the sqlite3 command-line interface (CLI) for this tutorial. Installation instructions vary by operating system; consult the official SQLite documentation for your platform. For Debian-based systems (like Ubuntu), use:

sudo apt-get install sqlite3 libsqlite3-dev
Copy after login
Copy after login

After installation, launch the CLI by typing sqlite3 in your terminal. You'll see a prompt indicating you can type .help for assistance.

Getting Started with SQLite3: Basic Commands

Meta Commands:

Meta commands, prefixed with a dot (.), manage database settings and operations. .help lists available meta commands. Useful commands include:

  • .show: Displays current settings.
  • .databases: Lists database names and files.
  • .quit: Exits the sqlite3 program.
  • .tables: Shows existing tables.
  • .schema: Displays a table's schema.
  • .header ON/.header OFF: Toggles header display in output.
  • .mode column: Sets output mode to columns.
  • .dump: Exports the database to SQL text format.

Standard SQL Commands:

Standard SQL commands interact with the database data. They are categorized as:

  • Data Definition Language (DDL): Defines database structure.
    • CREATE TABLE: Creates a new table.
    • ALTER TABLE: Modifies an existing table (adding or renaming columns).
    • DROP TABLE: Deletes a table.
  • Data Manipulation Language (DML): Manipulates data within tables.
    • INSERT INTO: Adds new rows.
    • UPDATE: Modifies existing rows.
    • DELETE FROM: Removes rows.
  • Data Query Language (DQL): Retrieves data.
    • SELECT: Queries data from tables.

Example: A Comment Section Database

Let's create a database for a website's comment section. The table will store: post_id (auto-incrementing integer primary key), name, email, website_url (nullable), and comment.

  1. Create the database:

    sudo apt-get install sqlite3 libsqlite3-dev
    Copy after login
    Copy after login
  2. Create the table:

    sqlite3 comment_section.db
    Copy after login
  3. Insert data:

    CREATE TABLE comments (
        post_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        email TEXT NOT NULL,
        website_url TEXT NULL,
        comment TEXT NOT NULL
    );
    Copy after login
  4. Select data (with headers and columnar output):

    INSERT INTO comments (name, email, website_url, comment)
    VALUES ('John Doe', 'john.doe@example.com', 'johndoe.com', 'Great article!');
    Copy after login

    Getting Started with SQLite3: Basic Commands

  5. Update data:

    .headers ON
    .mode column
    SELECT * FROM comments;
    Copy after login
  6. Delete data:

    UPDATE comments SET email = 'updated@example.com' WHERE post_id = 1;
    Copy after login
  7. Alter table (add a username column):

    DELETE FROM comments WHERE post_id = 1;
    Copy after login
  8. Drop table:

    ALTER TABLE comments ADD COLUMN username TEXT;
    Copy after login

    Conclusion:

    SQLite's simplicity and efficiency make it a powerful tool for various applications. While this tutorial covers the basics, exploring advanced features and integrating SQLite with programming languages like PHP will significantly expand its utility. GUI tools like DB Browser for SQLite can simplify database management for those preferring a visual interface.

    Frequently Asked Questions (FAQs):

    • SQLite vs. SQLite3: SQLite3 is a later version with performance improvements and enhanced features.

    • Creating a database: sqlite3 mydatabase.db

    • Creating a table: CREATE TABLE mytable (column1 type, column2 type, ...);

    • Inserting data: INSERT INTO mytable (column1, column2, ...) VALUES (value1, value2, ...);

    • Updating data: UPDATE mytable SET column1 = value WHERE condition;

    • Deleting data: DELETE FROM mytable WHERE condition;

    • Selecting data: SELECT * FROM mytable WHERE condition ORDER BY column;

    • WHERE clause: Filters results based on a condition.

    • ORDER BY clause: Sorts results by a specified column.

    • Closing a database: .quit in the sqlite3 CLI.

    Remember to replace placeholders like mydatabase.db, mytable, column1, etc., with your actual database and table names.

    The above is the detailed content of Getting Started with SQLite3: Basic Commands. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Explain the concept of late static binding in PHP. Explain the concept of late static binding in PHP. Mar 21, 2025 pm 01:33 PM

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Framework Security Features: Protecting against vulnerabilities. Framework Security Features: Protecting against vulnerabilities. Mar 28, 2025 pm 05:11 PM

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.

Customizing/Extending Frameworks: How to add custom functionality. Customizing/Extending Frameworks: How to add custom functionality. Mar 28, 2025 pm 05:12 PM

The article discusses adding custom functionality to frameworks, focusing on understanding architecture, identifying extension points, and best practices for integration and debugging.

See all articles