⚠️ 命中 10 行,可有两行一动没动

还是刚才那条不带条件的语句。这次连库存空着的行数一起数:命中几行、改之前空着几行、改之后空着几行(用 / 隔开)。 id name cat price stock 约束 1 绿茶 饮料 6

开始练习 →

自己写:先当查询试一次,再动手

同一个条件用两次:先写成查询看看会命中谁,再原样换成删除。条件是「类别是零食」。输出三样:查出来几行、删掉几行、两个数是否一致(用 / 隔开)。 id name cat price stock 约束 1 绿茶

开始练习 →

自己写:把改前、改后、命中数一起报出来

补全一条 UPDATE:把库存空着的那些改成 0。程序会把三个数一起报出来。输出四样:改前空着几行、命中几行、改后空着几行、三个数说不说得通(用 / 隔开)。 id name cat price stock 约束

开始练习 →

插进一个已经有的编号会怎样

这张表的 id 是主键。插入一行,id 用了一个表里已经存在的编号,数据库抛出了 IntegrityError。这说明它【0】。 id name cat price stock 约束 1 绿茶 饮料

开始练习 →

把非空列改成空会怎样

价钱那一列是非空的。一条 UPDATE 想把某一行的价钱改成空,结果是【0】。

开始练习 →

约束把你拦下来,是好事还是坏事

写了一条语句,被约束拦下来报了错。这件事【0】。

开始练习 →

三种违反,各报的是哪一条

故意犯三次错:编号撞车、名字撞车、名字留空。输出三次各违反了哪一条约束(用 / 隔开)。 id name cat price stock 约束 1 绿茶 饮料 6 12 id

开始练习 →

改成一个已经有人用的名字

名字那一列是唯一的。把红茶的名字改成"绿茶"(表里已经有绿茶)。输出两样:违反了哪一条、是哪一列(用 / 隔开)。 id name cat price stock 约束 1 绿茶 饮料

开始练习 →

自己写:插一行不违反任何约束

补全这条 INSERT:加一行「话梅/零食/7 元」,id 和名字都不能和表里现有的撞,库存那一列不给也行。输出两样:表里现在几行、有没有报错(用 / 隔开)。 id name cat price stock 约束

开始练习 →

自己写:故意撞一次,把错误认出来

补全条件:故意把某一行的名字改成表里已经存在的名字,让唯一约束把它拦下来。输出两样:违反了哪一条、表里还剩几行(用 / 隔开)。 id name cat price stock 约束 1 绿茶 饮料

开始练习 →