您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > 其它

SQLite建表语句示例(含所有数据类型、索引、自增主键、唯一索引)

时间:05-30来源:作者:点击数:

以下是 SQLite 建表语句的示例,包含了所有常见数据类型、自增主键、索引、唯一索引等特性:

CREATE TABLE example_table (
    -- 自增主键
    id INTEGER PRIMARY KEY AUTOINCREMENT,

    -- 常见数据类型
    name TEXT NOT NULL,                     -- 文本类型
    age INTEGER,                            -- 整数类型
    salary REAL,                            -- 浮点类型
    is_active BOOLEAN DEFAULT 1,            -- 布尔类型(SQLite 用 0 和 1 表示)
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP, -- 日期时间类型,默认当前时间
    description TEXT,                       -- 长文本类型
    binary_data BLOB,                       -- 二进制类型

    -- 唯一约束
    email TEXT UNIQUE,                      -- 唯一索引

    -- 索引
    INDEX idx_name (name),                  -- 普通索引
    UNIQUE INDEX idx_email_unique (email)   -- 唯一索引
);

说明
  1. 自增主键
    • id INTEGER PRIMARY KEY AUTOINCREMENT:定义一个自增的主键字段。
  2. 常见数据类型
    • TEXT:文本类型,用于存储字符串。
    • INTEGER:整数类型,用于存储整数。
    • REAL:浮点类型,用于存储小数。
    • BOOLEAN:布尔类型,SQLite 中通常用 0 和 1 表示 False 和 True
    • DATETIME:日期时间类型,DEFAULT CURRENT_TIMESTAMP 表示默认值为当前时间。
    • BLOB:二进制类型,用于存储二进制数据。
  3. 唯一约束
    • UNIQUE:确保字段的值唯一。
  4. 索引
    • INDEX:创建普通索引,提高查询性能。
    • UNIQUE INDEX:创建唯一索引,确保索引字段的值唯一。

示例数据插入
INSERT INTO example_table (name, age, salary, is_active, email, description, binary_data)
VALUES ('John Doe', 30, 50000.50, 1, 'john.doe@example.com', 'A sample description', X'010203');

查询示例
-- 查询所有数据
SELECT * FROM example_table;

-- 按条件查询
SELECT * FROM example_table WHERE age > 25;

-- 使用索引字段查询
SELECT * FROM example_table WHERE name = 'John Doe';

注意事项
  1. SQLite 的数据类型
    • SQLite 是动态类型系统,即使定义了数据类型,也可以存储其他类型的数据。
    • 例如,TEXT 字段可以存储整数或浮点数。
  2. 自增主键的限制
    • 如果删除表中的某些行,自增主键不会重新填充空缺的值。
    • 如果需要严格的连续自增值,可以使用 ROWID,但不推荐。
  3. 索引的使用
    • 索引可以提高查询性能,但会增加插入、更新和删除操作的开销。
    • 对于频繁更新的字段,谨慎使用索引。

通过以上示例,你可以在 SQLite 中创建功能完善的表,并利用索引和约束优化数据管理。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐