查一条和查一批

取「某一条」和取「某人全部」,在代码上的区别主要是【0】。

开始练习 →

增改删跑一遍

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元组),取一行用 .fetchone()、

开始练习 →

补全:改一条的正文

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元组),取一行用 .fetchone()、

开始练习 →

补全:删一条

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元组),取一行用 .fetchone()、

开始练习 →

补全:查某人全部

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元组),取一行用 .fetchone()、

开始练习 →

补全:查某人有几条

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元组),取一行用 .fetchone()、

开始练习 →

为什么要分层

把「碰数据库的代码」和「业务规则的代码」分开放,好处是【0】。

开始练习 →

数据访问层管什么

「数据访问层」这一层,只负责【0】。

开始练习 →

业务层调数据层

业务层的函数(如「发一条留言」)通常【0】。

开始练习 →

业务层先校验再落库

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元组),取一行用 .fetchone()、

开始练习 →