Blog / linux 操作sqlite数据库

linux 操作sqlite数据库

linux 操作sqlite数据库


在 Linux 上操作 SQLite 数据库可以通过命令行工具 sqlite3 来实现。以下是一些基本的操作步骤和示例:

1. 安装 SQLite

如果你的系统还未安装 SQLite,可以使用以下命令进行安装:

bash复制

# 对于 Debian/Ubuntu 系统
sudo apt-get update
sudo apt-get install sqlite3

# 对于 Red Hat/CentOS 系统
sudo yum install sqlite

2. 创建数据库

使用以下命令创建一个新的 SQLite 数据库:

bash复制

sqlite3 mydatabase.db

3. 创建表

在 SQLite 提示符下,可以使用 SQL 语句创建表。例如,创建一个用户表:

sql复制

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

4. 插入数据

插入数据使用 INSERT 语句:

sql复制

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

5. 查询数据

查询表中的数据使用 SELECT 语句:

sql复制

SELECT * FROM users;

6. 更新数据

使用 UPDATE 语句更新数据:

sql复制

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

7. 删除数据

删除数据使用 DELETE 语句:

sql复制

DELETE FROM users WHERE name = 'Bob';

8. 导出数据

可以将查询结果导出到 CSV 文件:

sql复制

.headers on
.mode csv
.output output.csv
SELECT * FROM users;
.output stdout

9. 退出 SQLite

要退出 SQLite 提示符,输入:

sql复制

.quit

10. 其他命令

  • 查看所有表:sql复制.tables
  • 查看表结构:sql复制.schema users
  • 执行 SQL 文件:bash复制sqlite3 mydatabase.db < myscript.sql

这些基本操作可以帮助你在 Linux 上高效地使用 SQLite 数据库。

在 SQLite 数据库中修改数据和结构可以通过几种 SQL 语句来完成。以下是一些常见的修改操作:

1. 修改表中的数据

更新数据

使用 UPDATE 语句修改表中已有记录的内容。例如,假设你想更新 users 表中某个用户的邮箱:

sql复制

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

2. 修改表结构

修改列名或数据类型

SQLite 允许通过 ALTER TABLE 语句来修改表结构,但功能相对有限。以下是一些常见操作:

  • 重命名表:sql复制ALTER TABLE users RENAME TO customers;
  • 添加新列:sql复制ALTER TABLE users ADD COLUMN age INTEGER;
  • 删除列(需要创建新表并迁移数据): SQLite 不支持直接删除列。通常的做法是创建一个新表,将数据复制过去,然后删除旧表:sql复制CREATE TABLE new_users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL UNIQUE, age INTEGER ); INSERT INTO new_users (id, name, email) SELECT id, name, email FROM users; DROP TABLE users; ALTER TABLE new_users RENAME TO users;

3. 删除数据

删除记录

要删除特定记录,可以使用 DELETE 语句。例如,删除 users 表中名为 ‘Bob’ 的用户:

sql复制

DELETE FROM users WHERE name = 'Bob';

4. 查看修改结果

在执行完修改操作后,可以使用 SELECT 语句查看表中的数据:

sql复制

SELECT * FROM users;

5. 事务处理

在进行多条修改操作时,使用事务可以确保数据一致性:

sql复制

BEGIN TRANSACTION;

UPDATE users SET email = '[email protected]' WHERE name = 'Alice';
DELETE FROM users WHERE name = 'Bob';

COMMIT;

通过这些基本操作,你可以有效地修改 SQLite 数据库中的数据和结构。

要显示 SQLite 数据库中的所有表名,可以在 SQLite 提示符下使用以下命令:

sql复制

.tables

其他方法

你也可以通过查询 sqlite_master 表来获取所有表名,使用以下 SQL 语句:

sql复制

SELECT name FROM sqlite_master WHERE type='table';

这将返回数据库中所有表的名称。

查看表结构

GPT-4o-Mini

Poe

要查看 SQLite 数据库中某个表的结构,可以使用以下命令:

1. 使用 .schema 命令

在 SQLite 提示符下,输入:

sql复制

.schema table_name

将 table_name 替换为你想查看的表名。例如,查看 users 表的结构:

sql复制

.schema users

2. 查询 sqlite_master 表

你也可以通过查询 sqlite_master 表获取表结构信息:

sql复制

PRAGMA table_info(table_name);

例如:

sql复制

PRAGMA table_info(users);

3. 使用 .tables 查看所有表

在查看某个表结构之前,你可能想先查看所有表名:

sql复制

.tables
  • 0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注