4.2.1 数据定义(Define)
4.2.1.1 数据类型
字符串类型:
char(n):存储固定长度的字符串,剩余部分使用空格填充。varchar(n):存储动态长度的字符串,仅存储实际使用的字符长度。
数字类型:
int:整数类型,通常为 4 字节。smallint:小整数类型,通常为 2 字节。numeric(p, d):精确的小数类型,p为总位数,d为小数位数。real:单精度浮点数,通常为 4 字节。double precision:双精度浮点数,通常为 8 字节。float(n):浮点数,n为精度位数。
时间类型:
date:日期,通常以小时-分钟-秒格式存储。在未知时区的情况下,此类型无法严格确定一个日期。time:时间,通常以小时-分钟-秒格式存储。在未知时区的情况下,此类型无法严格确定一个时间。timestamp:时间戳,默认以秒为单位。interval:时间间隔。
对象类型:
blob(Binary Large Object):用于存储二进制文件数据,例如图片、音视频等。clob(Character Large Object):用于存储超长文本数据。
4.2.1.2 CREATE TABLE
SQL 语法:
CREATE TABLE table_name (
column1 datatype [constraint],
column2 datatype [constraint],
...
[PRIMARY KEY (column_name)], -- 主键约束
[FOREIGN KEY (column_name) REFERENCES other_table (column_name)], -- 外键约束
[CHECK (condition)], -- 检查约束
...
);
其中:
-
[constraint]为列定义的约束,例如:PRIMARY KEYNOT NULLDEFAULT <value>- ...
-
condition为检查约束,例如:column_name in (<value1>, <value2>, ...)- ...