Skip to content

特殊字符

在SQL语言中,一些特殊字符具有重要的功能和含义。作为初学者,理解这些符号的用途能帮助你更好地阅读和编写SQL代码。

SQL中的特殊字符及其用途

字符名称主要用途
$美元符号位置参数、标识符、字符串常量
()括号分组表达式、固定语法的一部分
[]方括号选择数组元素
,逗号分隔列表元素
;分号终止SQL命令
:冒号选择数组"切片"、变量前缀
*星号表示所有字段、聚合函数特殊用法
.句点数值常量小数点、分隔模式/表/列名

详细解释

美元符号 $

当美元符号后跟数字时(如$1$2),通常用于表示函数定义或预处理语句中的位置参数。

sql
-- 在函数定义中使用位置参数
CREATE FUNCTION add_numbers(integer, integer) RETURNS integer AS $$
    SELECT $1 + $2;
$$ LANGUAGE SQL;

-- 美元符号用作字符串常量定界符
SELECT $$这是一个包含'引号'的字符串$$;

括号 ()

括号用于分组表达式并控制运算优先级,就像在数学中一样。

sql
-- 使用括号控制计算顺序
SELECT (2 + 3) * 4;  -- 结果为20,而不是14

方括号 []

方括号用于访问数组中的元素。

sql
-- 创建数组并访问其元素
SELECT ARRAY[1,2,3][2];  -- 返回2(PostgreSQL中数组索引从1开始)

逗号 ,

逗号用于分隔列表中的元素,如列名、值等。

sql
-- 在SELECT语句中分隔列名
SELECT id, name, age FROM users;

-- 在INSERT语句中分隔值
INSERT INTO users VALUES (1, '张三', 25);

分号 ;

分号用于标记SQL命令的结束。每条SQL语句应以分号结尾。

sql
-- 使用分号分隔多条命令
SELECT * FROM users;
UPDATE users SET active = true WHERE id = 1;

冒号 :

冒号用于从数组中选择"切片",或在某些SQL方言中作为变量的前缀。

sql
-- 在PostgreSQL中选择数组的一个范围(切片)
SELECT ARRAY[1,2,3,4,5][2:4];  -- 返回[2,3,4]

星号 *

星号常用于表示"所有列",也在聚合函数中有特殊用途。

sql
-- 选择表中的所有列
SELECT * FROM users;

-- 在COUNT函数中统计所有行
SELECT COUNT(*) FROM users;

句点 .

句点在数值中用作小数点,也用于限定对象的层次关系。

sql
-- 句点作为小数点
SELECT 3.14 * 2;  -- 返回6.28

-- 句点用于指定表和列
SELECT users.name FROM users;

-- 句点用于指定模式和表
SELECT public.users.name FROM public.users;

初学者提示

  1. 在学习SQL时,特别注意这些特殊字符的用法
  2. 当遇到语法错误时,检查这些特殊字符是否正确使用
  3. 在不同的数据库管理系统中,某些特殊字符的用法可能略有不同
  4. 练习使用这些特殊字符编写简单的SQL查询,以便更好地理解它们

通过掌握这些特殊字符的使用,你将能更轻松地阅读和编写SQL代码,为进一步学习数据库操作打下良好基础。