# 1. MySQL 中 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 的存储空间与方言特性? A INT 类型存储 8 个字节 B BIGINT 存储 2 个字节 C MEDIUMINT 存储 4 个字节 D TINYINT 存储 1 字节,取值范围为 -128 到 127 ✓ 正确答案
# 2. NUMERIC/DECIMAL 精确数值的存储与精度损失? A 它与 FLOAT 一样存在二进制精度损失 B 它只能存储整数 C 它以十进制整数形式存储,精确无舍入误差 ✓ 正确答案 D 它的存储空间固定为 8 字节
# 3. PostgreSQL 中 smallint(int2)、int(int4)、bigint(int8)的存储空间(2、4、8 字节)与取值范围? A 8 字节 ✓ 正确答案 B 4 字节 C 2 字节 D 16 字节
# 4. 整数溢出的检测,PostgreSQL 整数溢出报错 vs MySQL 的 wrap-around? A PostgreSQL 采用回绕处理 B MySQL 在严格模式下对溢出报错 ✓ 正确答案 C 两者行为完全一致 D PostgreSQL 静默回绕
# 5. 货币类型 MONEY 的局限(精度、地区)与 NUMERIC 的取舍? A 它的精度与 lc_monetary 区域设置有关 ✓ 正确答案 B 它的精度全球化固定为 2 位 C 它比 NUMERIC 更可移植 D 它不依赖任何区域设置
# 6. INT 与 BIGINT 的选择,未来数据增长估算? A INT 最大约 21 亿,足够应对所有场景 B 主键类型后期迁移成本高,应预留增长空间 ✓ 正确答案 C BIGINT 一定优于 INT D BIGINT 只占 4 字节
# 7. DECIMAL 与 NUMERIC 的关系? A 在 PostgreSQL 与 MySQL 中两者完全等价 ✓ 正确答案 B 两者是不同行为的数据类型 C NUMERIC 只能存整数 D DECIMAL 存在浮点误差
# 9. MySQL 的 UNSIGNED INT 的应用? A 它允许负数但范围更小 B 它把非负范围翻倍,适合自增主键 ✓ 正确答案 C 它增大存储字节数 D PostgreSQL 原生支持 UNSIGNED
# 13. IEEE 754 双精度浮点数(DOUBLE PRECISION、FLOAT8)的精度损失与 0.1 + 0.2 ≠ 0.3 陷阱? A 数据库计算错误 B 双精度位数太少 C 十进制小数在二进制浮点中无法精确表示 ✓ 正确答案 D 运算符优先级错误
# 15. PostgreSQL 中 NUMERIC 与 DOUBLE PRECISION 的性能差异? A NUMERIC 因硬件加速而更快 B NUMERIC 适合科学计算 C 两者性能完全相同 D DOUBLE PRECISION 利用硬件浮点通常更快 ✓ 正确答案
# 17. MySQL FLOAT 与 DOUBLE 的方言差异? A FLOAT 占 8 字节,DOUBLE 占 4 字节 B FLOAT(p) 中 p>24 时仍用单精度 C 两者都是精确类型 D FLOAT 占 4 字节,DOUBLE 占 8 字节 ✓ 正确答案
# 18. MySQL 中 FLOAT(p) 的精度 p 含义? A p 表示十进制显示位数 B p 与底层类型无关 C p 表示存储字节数 D p<=24 时用单精度,p>24 时用双精度 ✓ 正确答案
# 20. PostgreSQL 中 numeric 与 float8 的隐式转换? A float8 转 numeric 是有损的 B 转换规则与精度无关 C 两者可无条件隐式互转 D numeric 转 float8 通常需显式 CAST ✓ 正确答案
# 22. 序列类型 SMALLSERIAL、SERIAL、BIGSERIAL 与显式 CREATE SEQUENCE 的取舍? A SERIAL 自动创建并关联序列,是简化形式 ✓ 正确答案 B SERIAL 不支持 bigint C CREATE SEQUENCE 无法自定义步长 D 两者完全等价
# 23. INTEGER 类型与 32 位/64 位系统关系? A 64 位系统上 INTEGER 占 8 字节 B INTEGER 大小随系统变化 C 32 位系统上 INTEGER 只有 2 字节 D 数据库 INTEGER 固定 4 字节,与平台无关 ✓ 正确答案
# 26. smallint 的范围 -32768 到 32767? A -32768 到 32767 ✓ 正确答案 B -128 到 127 C -2147483648 到 2147483647 D -2^63 到 2^63-1
# 27. REAL(FLOAT4)与 DOUBLE PRECISION(FLOAT8)的存储与精度对比? A REAL 占 8 字节 B DOUBLE PRECISION 约 15-16 位有效数字,占 8 字节 ✓ 正确答案 C 两者精度相同 D REAL 是精确类型
# 28. 浮点数的特殊值,Infinity、-Infinity、NaN 在数据库中的存储与比较? A NaN 等于自身 B NaN 小于所有数值 C NaN 与任何值(包括自身)相等比较都为 false ✓ 正确答案 D NaN 无法存储
# 29. 舍入模式,ROUND 四舍五入 vs 银行家舍入(ROUND HALF EVEN)的差异? A 恰好 .5 时舍入到偶数以消除偏差 ✓ 正确答案 B .5 一律进位 C 与四舍五入完全相同 D 只用于负数