American English: which vs that [duplicate]

I am not a native speaker but at school I was taught that you should use "that" for defining relative clauses, whereas both "which" and "that" are allowed for non-defining relative clauses.

Therefore: "I really like this pencil case which Rose gave me." Here, the relative clause only adds information about a pencil case that is already known (this pencil case). In this case, as far as I know, you can also use "that". The relative pronoun cannot be omitted.

"I really like the pencil case that Rose gave me." Here the relative clause defines the pencil case: I am talking about the pencil case that Rose gave me, not about another one. In this case, it is compulsory to use "that". Alternatively, you can omit "that" altogether: "I really like the pencil case Rose gave me."

This is at least the rules that I recall from school and I may be wrong. I also do not know if the American and the British use differ on this since I am neither from Great Britain nor from the United States.