31、SQL完全限定

1、SQL完全限定

是指 明确指定数据库对象(如表、列、视图等)的完整路径,以消除歧义、提高可读性和确保跨环境兼容性。包括:

  • 数据库名

  • 架构名(或模式名)

  • 表名

  • 列名

完全限定名的标准形式(MySQL):

[database_name.]table_name[.column_name]

注意:这不是一个单独的 SQL 关键字,而是一种 命名约定(naming convention),用于在 SQL 语句中明确指定对象的位置。

部分是否可选说明
database_name 可选 数据库(Schema)名称
. 必须 分隔符
table_name 必须 表名
.column_name 可选 列名(仅在引用列时出现)

如:

例:
    employees → 非限定表名(依赖当前数据库)
    hr_db.employees → 完全限定表名
    hr_db.employees.name → 完全限定列名
在 MySQL 中,没有“schema”层级(schema = database),所以只有两层:database.table

例子:

SELECT * FROM hr_db.employees;       -- hr_db 被识别为 数据库名,employees 为 表名

SELECT hr_db.employees.name FROM hr_db.employees;   -- hr_db.employees.name 被识别为 列名,其所属表是 hr_db.employees

完全限定 = 从最外层命名空间到具体对象的完整路径。

数据库完全限定格式(从外到内)
MySQL database_name.table_name.column_name
PostgreSQL database.schema.table.column(通常省略 database)
SQL Server server.database.schema.table.column
Oracle schema.table.column(用户 ≈ schema)
posted @ 2025-11-21 10:27  chao_xiong  阅读(6)  评论(0)    收藏  举报