SQLite3数据库命令操作入门指南

2025-04-24 19

Image

SQLite3 数据库命令操作入门

SQLite 是一个轻量级的嵌入式关系型数据库,广泛用于移动应用、桌面应用和小型项目中。以下是 SQLite3 的基础操作指南,适合初学者快速上手。


1. 启动 SQLite3

  • 进入 SQLite3 命令行工具

    sqlite3 database_name.db
    

    如果 database_name.db 文件不存在,SQLite 会自动创建一个新的数据库文件。

  • 退出 SQLite3

    .exit
    

    或按 Ctrl+D


2. 常用元命令

SQLite 提供了一些特殊的元命令(以 . 开头),用于管理数据库环境:

| 命令 | 功能 |
|---------------|----------------------------------------------------------------------|
| .help | 显示所有可用命令的帮助信息。 |
| .tables | 列出当前数据库中的所有表。 |
| .schema | 显示所有表的创建语句(结构)。 |
| .schema table_name | 显示指定表的创建语句。 |
| .mode column | 设置输出模式为列对齐(更易读)。 |
| .headers on | 开启查询结果的表头显示。 |
| .show | 显示当前 SQLite 环境的设置。 |


3. SQL 基础操作

3.1 创建表

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

- INTEGER PRIMARY KEY AUTOINCREMENT:主键,自动递增。
- TEXT NOT NULL:文本字段,不能为空。
- UNIQUE:字段值必须。


3.2 插入数据

INSERT INTO users (name, age, email) VALUES ('Alice', 25, 'alice@example.com');
INSERT INTO users (name, age, email) VALUES ('Bob', 30, 'bob@example.com');

- 如果插入所有字段,可以省略字段名:

INSERT INTO users VALUES (NULL, 'Charlie', 35, 'charlie@example.com');

NULL 表示让主键自动递增。


3.3 查询数据

```sql
-- 查询所有数据
SELECT * FROM users;

-- 查询指定字段
SELECT name, age FROM users;

-- 带条件的查询
SELECT * FROM users WHERE age > 30;

-- 排序查询
SELECT * FROM users ORDER BY age DESC;

-- 限制返回行数
SELECT * FROM users LIMIT 2;
```


3.4 更新数据

UPDATE users
SET age = 28
WHERE name = 'Alice';

- SET 指定要更新的字段和值。
- WHERE 指定条件,避免更新所有行。


3.5 删除数据

DELETE FROM users WHERE name = 'Bob';

- 省略 WHERE 会删除表中所有数据(谨慎操作)。


3.6 删除表

DROP TABLE users;

- 删除表会丢失所有数据,操作前需确认。


4. 索引与约束

4.1 创建索引

索引用于加速查询:

CREATE INDEX idx_users_email ON users (email);

4.2 添加约束

  • 主键PRIMARY KEY
  • 约束UNIQUE
  • 非空约束NOT NULL
  • 检查约束
    CREATE TABLE orders (
        id INTEGER PRIMARY KEY,
        amount REAL CHECK (amount > 0)
    );
    

5. 事务管理

事务用于确保一组操作的原子性:
```sql
BEGIN TRANSACTION;

UPDATE users SET age = age + 1 WHERE name = 'Alice';
UPDATE users SET age = age - 1 WHERE name = 'Charlie';

COMMIT; -- 提交事务
-- 或
ROLLBACK; -- 回滚事务
```


6. 示例:完整操作流程

以下是一个完整的示例,展示如何创建表、插入数据、查询和更新:
```sql
-- 创建表
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
price REAL NOT NULL,
quantity INTEGER DEFAULT 0
);

-- 插入数据
INSERT INTO products (name, price, quantity) VALUES ('Laptop', 1000, 10);
INSERT INTO products (name, price, quantity) VALUES ('Phone', 500, 20);

-- 查询数据
SELECT * FROM products;

-- 更新数据
UPDATE products SET quantity = quantity - 1 WHERE name = 'Laptop';

-- 删除数据
DELETE FROM products WHERE name = 'Phone';

-- 删除表
DROP TABLE products;
```


7. 常见问题与注意事项

  1. SQLite 数据类型

    • SQLite 是动态类型系统,常用类型包括:
      • INTEGER:整数
      • REAL:浮点数
      • TEXT:字符串
      • BLOB:二进制数据
      • NULL:空值
  2. SQL 注入

    • 使用参数化查询避免 SQL 注入(在编程语言中绑定参数)。
  3. 备份与恢复

    • 备份数据库:
      cp database_name.db backup_database_name.db
      
    • 恢复数据库:将备份文件覆盖原文件。
  4. 性能优化

    • 为常用查询字段创建索引。
    • 避免在大数据量表中频繁使用 SELECT *

8. 学习资源推荐

通过以上内容,您已经掌握了 SQLite3 的基础操作。建议通过实践巩固知识,例如创建一个小型项目来管理用户信息或库存数据。

(www.nzw6.com)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关