服务器测评网
我们一直在努力

Linux sqlite命令有哪些常用操作及语法?

Linux 作为一款开源的操作系统,凭借其稳定性和灵活性在服务器、开发环境等领域得到广泛应用,在 Linux 系统中,SQLite 作为一个轻量级的嵌入式数据库,无需独立服务进程,直接通过文件存储数据,具有部署简单、资源占用少等优点,特别适合小型应用和本地数据存储场景,掌握 SQLite 的基本命令是高效管理数据的必备技能,本文将详细介绍 SQLite 在 Linux 环境下的核心操作命令,帮助读者快速上手。

Linux sqlite命令有哪些常用操作及语法?

SQLite 的安装与环境配置

在使用 SQLite 之前,需要先确保系统中已安装 SQLite 工具,在主流的 Linux 发行版中,可通过包管理器快速安装,以 Ubuntu/Debian 为例,执行 sudo apt update && sudo apt install sqlite3 命令即可完成安装;对于 CentOS/RHEL 系统,可使用 sudo yum install sqlitesudo dnf install sqlite,安装完成后,通过在终端输入 sqlite3 --version 验证安装是否成功,若显示版本信息则表明安装成功。

进入 SQLite 交互式环境的命令为 sqlite3 [数据库文件名],若数据库文件不存在,SQLite 会自动创建,执行 sqlite3 test.db 将创建并打开一个名为 test.db 的数据库文件,进入交互模式后,提示符会变为 sqlite>,此时即可输入 SQL 命令进行操作。

数据库与表的基本操作

数据库的创建与连接

SQLite 通过文件名标识数据库,无需显式创建数据库命令,当使用 sqlite3 [文件名] 进入交互环境时,若文件不存在,系统会自动生成;若文件存在,则直接打开,若需切换数据库,可使用 .open [新数据库文件名] 命令,或使用 .attach [数据库文件] [别名] 关联其他数据库。

数据表的创建

创建数据表需使用 CREATE TABLE 语句,语法为 CREATE TABLE 表名 (列名1 数据类型1, 列名2 数据类型2, ...);,SQLite 支持常见的数据类型,如 INTEGER(整数)、TEXT(文本)、REAL(浮点数)、BLOB(二进制数据)等,创建一个用户表(users),包含 id(整数,主键)、name(文本)、age(整数)字段,命令为:

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

PRIMARY KEY 表示该字段为主键,NOT NULL 表示该字段不允许为空。

数据表的查看与修改

  • 查看表结构:使用 .schema 表名 可查看表的创建语句,.schema users;若不指定表名,.schema 会显示所有表的创建信息。
  • 列出所有表:通过 .tables 命令可查看当前数据库中的所有数据表。
  • 修改表结构:使用 ALTER TABLE 命令可添加或重命名字段,例如添加一个邮箱字段:ALTER TABLE users ADD COLUMN email TEXT;,注意 SQLite 不支持直接删除或修改字段。

数据的增删改查操作

数据插入(INSERT)

使用 INSERT INTO 语句向表中插入数据,基本语法为 INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);,若插入所有字段的数据,可省略列名列表,向 users 表插入两条数据:

Linux sqlite命令有哪些常用操作及语法?

INSERT INTO users (name, age, email) VALUES ('张三', 25, 'zhangsan@example.com');
INSERT INTO users VALUES (2, '李四', 30, 'lisi@example.com');

数据查询(SELECT)

查询数据是数据库操作的核心,SELECT 语法灵活,支持条件过滤、排序、分组等功能。

  • 基本查询SELECT 列名 FROM 表名;,例如查询所有用户的姓名和年龄:SELECT name, age FROM users;;使用 SELECT * FROM 表名; 可查询所有字段。
  • 条件查询:通过 WHERE 子句添加过滤条件,支持 (等于)、(不等于)、>(大于)、<(小于)、LIKE(模糊匹配)等运算符,例如查询年龄大于 25 的用户:SELECT * FROM users WHERE age > 25;
  • 排序与限制:使用 ORDER BY 子句对结果排序,ASC 表示升序(默认),DESC 表示降序;LIMIT 可限制返回结果数量,例如按年龄降序查询前 2 名用户:SELECT * FROM users ORDER BY age DESC LIMIT 2;

数据更新(UPDATE)

使用 UPDATE 语句修改表中的数据,语法为 UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;注意WHERE 子句不可省略,否则会更新整表数据,例如将张三的年龄修改为 26:UPDATE users SET age = 26 WHERE name = '张三';

数据删除(DELETE)

使用 DELETE FROM 语句删除数据,语法为 DELETE FROM 表名 WHERE 条件;,同样,WHERE 子句是必需的,否则会清空表数据,例如删除年龄小于 20 的用户:DELETE FROM users WHERE age < 20;

索引与视图的应用

索引的创建与管理

索引可大幅提升查询效率,特别是在数据量较大的表中,创建索引的语法为 CREATE INDEX 索引名 ON 表名 (列名);,例如为 users 表的 name 字段创建索引:CREATE INDEX idx_name ON users (name);,查看索引信息可通过 .indices 表名 命令,删除索引使用 DROP INDEX 索引名;

视图的创建与使用

视图是虚拟表,基于查询结果动态生成,可简化复杂查询并保护数据,创建视图的语法为 CREATE VIEW 视图名 AS SELECT 查询语句;,例如创建一个包含用户姓名和邮箱的视图:CREATE VIEW user_email AS SELECT name, email FROM users;,查询视图时与普通表相同:SELECT * FROM user_email;,删除视图使用 DROP VIEW 视图名;

数据库的备份与维护

数据库备份

SQLite 数据库本质上是文件,可直接通过文件复制备份,但更推荐使用 .backup 命令,在 SQLite 交互环境中,执行 .backup [备份文件名] 可备份当前数据库,例如将 test.db 备份为 test_backup.db:.backup test_backup.db

Linux sqlite命令有哪些常用操作及语法?

数据导出与导入

  • 导出数据:使用 .output [文件名] 指定输出文件,再执行查询语句,结果将写入文件,例如导出 users 表数据到 users.csv:
    .output users.csv
    SELECT * FROM users;
  • 导入数据:通过 .read [SQL文件] 执行包含插入语句的 SQL 文件,或结合 .import 命令导入 CSV 文件(需先创建表)。

数据库优化

定期使用 VACUUM 命令可清理数据库碎片,减小文件体积:VACUUM;,通过 ANALYZE 命令可更新数据库统计信息,帮助查询优化器选择更高效的执行计划:ANALYZE;

SQLite 的特殊命令

SQLite 提供以 开头的特殊命令,用于管理数据库环境,这些命令仅在交互式模式下有效:

  • .help:显示所有特殊命令的帮助信息。
  • .quit.exit:退出 SQLite 交互环境。
  • .databases:列出当前打开的数据库文件。
  • .header on|off:控制是否显示查询结果的列名(默认为 off)。
  • .mode [模式]:设置输出格式,如 csvcolumnlist 等,.mode column 可使结果对齐显示。

SQLite 凭借其轻量级、无服务器的特性,在 Linux 系统中成为小型数据存储的理想选择,从数据库的创建、表的管理,到数据的增删改查、索引视图的应用,再到备份维护与特殊命令的使用,掌握这些核心操作命令后,即可高效利用 SQLite 完成本地数据管理任务,无论是开发小型应用、测试数据存储,还是作为嵌入式数据库组件,SQLite 都能以简洁的方式满足需求,为 Linux 环境下的数据处理提供可靠支持。

赞(0)
未经允许不得转载:好主机测评网 » Linux sqlite命令有哪些常用操作及语法?