select device_id,
gender,
age,
university
from user_profile
where university != '复旦大学';
不要用双引号
字符串必须使用单引号包裹。几乎所有主流数据库(MySQL、PostgreSQL、Oracle、SQL Server 等)都严格遵循这个标准,用单引号不会出现兼容性问题。
双引号在 SQL 中的默认作用是包裹标识符(比如表名、列名),而非字符串。只有少数数据库(如 MySQL)在特定配置下(sql_mode 未开启 ANSI_QUOTES)会兼容双引号包裹字符串,但这属于非标准用法,跨数据库执行时容易报错。
总结:
' 包裹字符串常量,这是 SQL 标准,兼容所有数据库,避免踩坑。" 尽量只用于标识符(比如列名 / 表名包含特殊字符时),不要用于字符串。字符串(String)就是由一串字符组成的文本。
数值(比如 age = 20 里的 20):不需要加引号,数据库会按数字规则处理(比如加减乘除);数值类型(如年龄、分数)不需要加引号,和字符串的处理规则完全不同。
一列就是一个字段,一个字段对应表中的一列。

京公网安备 11010502036488号