099、sqlite3 关系型数据库入门:SQL 基础、Python 连接与查询安全
099、sqlite3 关系型数据库入门:SQL 基础、Python 连接与查询安全一个让我熬夜到凌晨三点的bug上周帮同事排查一个生产环境的数据丢失问题,场景很简单:一个Python脚本每天凌晨用sqlite3写入日志数据,跑了三个月突然某天数据全没了。查了半天,发现是SQL注入导致的——用户输入了一个带单引号的字符串,拼接SQL时直接把整张表给删了。这种低级错误在2024年还能遇到,说明很多人对sqlite3的认知还停留在“能用就行”的阶段。今天这篇笔记,我会从最基础的SQL语法讲起,重点放在Python连接sqlite3时的安全写法上。这些坑我踩过,你们就别再踩了。SQLite是什么?为什么选它?SQLite是一个嵌入式关系型数据库,不需要独立服务进程,数据直接存在一个文件里。Python标准库自带sqlite3模块,开箱即用,零配置。适用场景很明确:单机应用、桌面软件、移动端数据量不大(百万级以内)不需要高并发写入快速原型开发别拿它跟MySQL、PostgreSQL比,定位不同。我见过有人用sqlite3做电商订单系统,结果并发写入时频繁报“database is locked”,那是真·自找麻烦。SQL基础:你只需要记住这四类操作关系