SQLite 支持多种数据类型,用于定义表中的列。以下是一些常见的 SQLite 数据类型:

1. INTEGER: 用于存储整数值。
   CREATE TABLE example (
       id INTEGER,
       age INTEGER
   );

2. REAL: 用于存储浮点数值。
   CREATE TABLE example (
       price REAL,
       temperature REAL
   );

3. TEXT: 用于存储文本字符串。
   CREATE TABLE example (
       name TEXT,
       description TEXT
   );

4. BLOB: 用于存储二进制数据,比如图像、音频等。
   CREATE TABLE example (
       image BLOB,
       audio BLOB
   );

5. NUMERIC: 用于存储日期和时间值,可以包括整数和浮点数。
   CREATE TABLE example (
       date_col NUMERIC,
       time_col NUMERIC
   );

在 SQLite 中,数据类型是灵活的,列可以存储不同类型的值。SQLite 会根据实际存储的值自动进行类型转换。例如,如果你尝试将一个整数插入到 TEXT 类型的列中,SQLite 会自动将其转换为文本。

除了上述基本数据类型,SQLite 还支持其他一些特殊的数据类型和列约束,例如:

  •  BOOLEAN: 在 SQLite 中没有专门的 BOOLEAN 数据类型,但你可以使用 INTEGER 表示布尔值,0 表示假,非零值表示真。


  •  DATE 和 TIME: 可以使用 NUMERIC 类型存储日期和时间值,也可以使用 TEXT 或 INTEGER 类型。


  •  PRIMARY KEY: 用于定义主键列,可以是 INTEGER 或 TEXT 类型。


  •  AUTOINCREMENT: 用于自动增长的列,通常与 INTEGER 类型的主键一起使用。


以下是一个包含多种数据类型和列约束的表的示例:
CREATE TABLE products (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    price REAL,
    stock INTEGER DEFAULT 0,
    description TEXT,
    release_date NUMERIC
);

在这个示例中,id 是一个自增的主键列,name 是文本类型,price 是浮点数类型,stock 是整数类型,并设置了默认值,description 是文本类型,release_date 是日期和时间的 NUMERIC 类型。


转载请注明出处:http://www.pingtaimeng.com/article/detail/9138/SQLite