SQLite在Android开发环境下支持的数据类型
- NULL:表示空值。
- INTEGER:有符号整数,根据值的大小存储为1、2、3、4、6或8字节。
- REAL:浮点值,存储为8字节的IEEE浮点数字。
- TEXT:文本字符串,使用数据库编码(UTF-8、UTF-16BE或UTF-16LE)存储。
- BLOB:二进制大对象,直接存储数据,不进行转换。
每种数据类型在实际表结构设计中的应用场景
- NULL:
- 应用场景:当某个字段的值在某些情况下确实没有具体数据时使用。例如,在用户信息表中,如果用户选择不填写“中间名”字段,该字段的值就可以设为NULL。
- 示例表结构:
CREATE TABLE User (
id INTEGER PRIMARY KEY,
firstName TEXT,
middleName TEXT,
lastName TEXT
);
- INTEGER:
- 应用场景:用于存储整数类型的数据,比如年龄、数量、ID等。例如,在订单表中存储订单数量。
- 示例表结构:
CREATE TABLE Order (
orderId INTEGER PRIMARY KEY,
productId INTEGER,
quantity INTEGER,
totalPrice REAL
);
- REAL:
- 应用场景:用于存储需要高精度小数的数据,如价格、重量等。例如,在商品表中存储商品价格。
- 示例表结构:
CREATE TABLE Product (
productId INTEGER PRIMARY KEY,
productName TEXT,
price REAL,
description TEXT
);
- TEXT:
- 应用场景:用于存储文本信息,如用户名、地址、描述等。例如,在用户信息表中存储用户地址。
- 示例表结构:
CREATE TABLE User (
id INTEGER PRIMARY KEY,
username TEXT,
address TEXT,
phoneNumber TEXT
);
- BLOB:
- 应用场景:用于存储二进制数据,如图片、音频、视频等。例如,在用户头像表中存储用户头像的二进制数据。
- 示例表结构:
CREATE TABLE UserAvatar (
userId INTEGER PRIMARY KEY,
avatar BLOB
);