SQLite从入门到精通面试题及参考答案
目录
SQLite 是什么?
SQLite 的优点有哪些?
轻量级与易于部署
零配置和低维护成本
良好的兼容性和跨平台性
高性能和可靠性
SQLite 的局限性有哪些?
并发处理能力有限
缺乏用户管理和权限控制功能
有限的扩展性
有限的网络支持
SQLite 和其他数据库系统(如 MySQL、Oracle)有什么区别?
体系结构和部署模式
资源需求和性能特点
用户管理和权限控制
功能丰富度和扩展性
应用场景
SQLite 支持哪些存储类别?
NULL 存储类别
INTEGER 存储类别
REAL 存储类别
TEXT 存储类别
BLOB 存储类别
SQLite 支持哪些数据类型?
NULL 类型
INTEGER 类型
REAL 类型
TEXT 类型
BLOB 类型
SQLite 中布尔值是如何存储的?
SQLite 中的 NULL 是什么?
SQLite 中的 VARCHAR 最大长度是多少?
如何创建一个新的 SQLite 数据库?
命令行方式
编程方式(以 Python 为例)
如何在 SQLite 中创建一个表?
命令行方式
编程方式(以 Python 为例)
SQLite 中的表是什么?
SQLite 中的视图是什么?
如何在 SQLite 中创建视图?
确定视图的基础数据来源
编写创建视图的 SQL 语句
在命令行或编程环境中执行语句
SQLite 支持哪些类型的视图?
单表视图
多表连接视图
聚合视图
嵌套视图
如何创建复杂视图?
多表关联与子查询结合
复杂条件筛选与函数运用
SQLite 中的索引是什么?
概念与原理
作用与重要性
如何在 SQLite 中创建索引?
基本语法
基于实际需求创建
什么时候应该避免使用索引?
数据量小且操作简单的表
频繁更新的表
数据选择性低的列
SQLite 中的外键是什么?
概念与定义
作用与意义
如何在 SQLite 中启用外键约束?
编译时配置
运行时配置
SQLite 中的全文搜索是什么?
概念与原理
应用场景
如何在 SQLite 中执行全文搜索?
启用全文搜索功能
执行搜索操作
SQLite 中的虚拟表是什么?
概念与性质
类型与应用
SQLite 中的触发器是什么?
概念与构成
作用与应用
SQLite 支持哪些触发器类型?
基于触发时机的类型
基于触发事件的类型
如何在 SQLite 中创建和使用触发器?
创建触发器
使用触发器
SQLite 中的存储过程是什么?
概念与特点
作用与应用场景
如何在 SQLite 中创建和实现存储过程?
创建存储过程
实现存储过程功能
SQLite 支持哪些类型的函数?
聚合函数
数学函数
文本函数
如何在 SQLite 中创建自定义函数?
基于编程语言接口创建(以 C/C++ 为例)
基于 SQLite 脚本语言(SQL)的有限创建方式
SQLite 中的序列是什么?
概念与原理
应用场景
如何在 SQLite 中使用序列(基于自增列模拟)?
创建带有自增列的表
插入数据到带有自增列的表
管理和使用自增列的值
SQLite 中的事务是什么?
概念与原理
构成与操作
解释 SQLite 中的 ACID 属性。
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
为什么事务在数据库操作中很重要?
保证数据一致性
实现数据原子性
支持并发操作的隔离
确保数据持久性
如何在 SQLite 中开始一个事务?
使用 SQL 语句
在编程语言中使用接口
如何在 SQLite 中提交或回滚一个事务?
提交事务
回滚事务
SQLite 的事务隔离级别有哪些?
未提交读(Read Uncommitted)
提交读(Read Committed)
可重复读(Repeatable Read)
串行化(Serializable)
SQLite 中的 WAL 模式是什么?
概念与原理
优势与应用场景
WAL 模式如何提高性能?
读写分离优化
减少磁盘 I/O 操作
优化事务处理
如何在 SQLite 中启用或禁用 WAL 模式?
启用 WAL 模式
禁用 WAL 模式
SQLite 的锁机制是什么?
共享锁(SHARED LOCK)
排他锁(EXCLUSIVE LOCK)
意向锁(INTENTION LOCK)
SQLite 如何处理并发?
基于锁机制的并发控制
事务隔离级别与并发处理
WAL 模式与并发处理
SQLite 中的标准命令有哪些?
数据定义命令
数据操作命令
数据查询命令
事务管理命令
其他重要命令
SQLite 是什么?
SQLite 是一种轻型的嵌入式关系型数据库管理系统,它在 2000 年由 D. Richard Hipp 发布。其设计目标是在资源有限的环境中(如移动设备、嵌入式系统)实现高效的数据存储和管理。
从体系结构上看,SQLite 由多个组件构成。其中包括 SQL 编译器,它负责解析和分析输入的 SQL 语句,将其转换为内部的字节码指令;虚拟机,用来执行这些字节码指令,从而实现对数据的操作;存储引擎则负责数据的存储和检索。SQLite 的存储文件格式是跨平台的,其数据库文件以单一文件的形式存在,这使得数据的传输、备份和恢复都非常方便。