数据库中两个星号代表什么具体含义?
- 内容介绍
- 文章标签
- 相关推荐
在日常的数据库开发与维护过程中,最常见的“星号”符号往往是单个“*”。但当你看到“**”时往往会产生困惑:它到底表示什么?在不同数据库、不同语境下它又有何差异?
一、星号的基本含义
单个星号是 SQL 里的通配符或列选择器:
- 查询所有列: `SELECT * FROM table_name`。
- 限定表名后选择所有列: `SELECT table1.* FROM table1 JOIN table2 ON ...`。
- 在正则表达式或 LIKE 中。单个 % 或 _ 表示任意字符,但这与 “*” 并不等价。
二、双星号在不同数据库中的具体含义
1. MySQL
MySQL 并没有把 “**” 当作特殊符号。它会被解释为普通字符,仅在正则表达式中才可能出现多字符匹配:
# 正则匹配
SELECT * FROM logs WHERE message REGEXP 'abc.*def';不过,
2. SQL Server / PostgreSQL 等
在这些数据库里“**” 通常被用作多字符通配符等价于 SQL 标准中的 `%`。
在日常的数据库开发与维护过程中,最常见的“星号”符号往往是单个“*”。但当你看到“**”时往往会产生困惑:它到底表示什么?在不同数据库、不同语境下它又有何差异?
一、星号的基本含义
单个星号是 SQL 里的通配符或列选择器:
- 查询所有列: `SELECT * FROM table_name`。
- 限定表名后选择所有列: `SELECT table1.* FROM table1 JOIN table2 ON ...`。
- 在正则表达式或 LIKE 中。单个 % 或 _ 表示任意字符,但这与 “*” 并不等价。
二、双星号在不同数据库中的具体含义
1. MySQL
MySQL 并没有把 “**” 当作特殊符号。它会被解释为普通字符,仅在正则表达式中才可能出现多字符匹配:
# 正则匹配
SELECT * FROM logs WHERE message REGEXP 'abc.*def';不过,
2. SQL Server / PostgreSQL 等
在这些数据库里“**” 通常被用作多字符通配符等价于 SQL 标准中的 `%`。

