- SQL教程
- SQL - 主页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL数据库
- SQL-创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL-备份数据库
- SQL表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 截断表
- SQL - 克隆表
- SQL - 临时表
- SQL - 更改表
- SQL - 删除表
- SQL - 删除表
- SQL - 约束
- SQL查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - 选择进入
- SQL - 插入选择
- SQL - 更新查询
- SQL - 删除查询
- SQL - 对结果进行排序
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL-Where 子句
- SQL - 顶部子句
- SQL - 不同子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL-Having 子句
- SQL - 与与或
- SQL - 布尔(位)运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY、ALL 运算符
- SQL - EXISTS 运算符
- SQL-案例
- SQL - NOT 运算符
- SQL - 不等于
- SQL - 为空
- SQL - 不为空
- SQL - 非空
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION 与 UNION ALL
- SQL - 相交运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用联接
- SQL-内连接
- SQL-左连接
- SQL-右连接
- SQL-交叉连接
- SQL-全连接
- SQL-自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接与右连接
- SQL - 联合与连接
- SQL 键
- SQL - 唯一键
- SQL - 主键
- SQL-外键
- SQL - 复合键
- SQL - 备用键
- SQL索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL-唯一索引
- SQL - 聚集索引
- SQL - 非聚集索引
- 高级SQL
- SQL - 通配符
- SQL - 注释
- SQL-注入
- SQL-托管
- SQL - 最小值和最大值
- SQL - 空函数
- SQL - 检查约束
- SQL - 默认约束
- SQL-存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL-自动递增
- SQL - 日期和时间
- SQL-游标
- SQL - 公用表表达式
- SQL - 分组依据与排序依据
- SQL - IN 与 EXISTS
- SQL——数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数字函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL-JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问题与解答
- SQL - 快速指南
- SQL - 有用的函数
- SQL - 有用的资源
- SQL - 讨论
SQL - 备用键
SQL 备用键
数据库表中的SQL备用键是当前未选为主键的候选键。它们可用于唯一标识表中的元组(或记录)。
没有特定的查询或语法来设置表中的备用键。它只是一个紧随其后的候选列,可以选作主键。因此,它们也称为辅助候选键。
如果数据库表仅包含一个候选键(被视为表的主键),则该表中没有备用键。
让我们通过一个例子来理解备用键的概念。假设我们有一个名为 CUSTOMERS 的表,其中包含 ID、NAME、AGE、AADHAAR_ID、MOBILE_NO 和 SALARY 等各种字段,如下所示。
客户的id、手机号码、aadhaar号码等详细信息都是唯一的,我们可以使用各自的字段唯一地识别CUSTOMERS表中的记录;ID、AADHAAR_ID 和 MOBILE_NO。因此,这三个字段可以被视为候选键。
其中,如果将一个声明为 CUSTOMERS 表的主键,则其余两个将是备用键。
备用键的特点
以下是备用键的一些重要属性/功能 -
- 备用键不允许重复值。
- 一张表可以有多个备用键。
- 除非显式设置 NOT NULL 约束,否则备用键可以包含 NULL 值。
- 所有备用键都可以是候选键,但所有候选键不能都是备用键。
- 主键也是候选键,不能被视为备用键。
例子
为了更好地理解,让我们创建上面讨论的表,演示各种键的用法并说明可被视为备用键的字段。
CREATE TABLE CUSTOMERS( ID INT, NAME VARCHAR (20), AGE INT, AADHAAR_ID BIGINT, MOBILE_NO BIGINT, SALARY DECIMAL (18, 2), PRIMARY KEY(ID) );
现在,使用 INSERT 语句将一些记录插入到 CUSTOMERS 表中,如下所示 -
INSERT INTO CUSTOMERS VALUES (1, 'Ramesh', 32, 90123498456, 9023456789, 22000.00 ), (2, 'Khilan', 25, 91123249545, 9032456578, 24500.34 ), (3, 'Kaushik', 23, 91223242546, 9012436789, 20000.12 );
该表将创建为 -
ID | 姓名 | 年龄 | AADHAAR_ID | 手机号码 | 薪水 |
---|---|---|---|---|---|
1 | 拉梅什 | 32 | 90123498456 | 9023456789 | 22000.00 |
2 | 基兰 | 25 | 91123249545 | 9032456578 | 24500.34 |
3 | 考希克 | 23 | 91223242546 | 9012436789 | 20000.12 |
表中的键
作为总结,让我们重新审视数据库表中的所有键 -
候选键
候选键是超级键的子集,用于唯一标识表的记录。可以是单个字段,也可以是多个字段。表中的主键、备用键、外键都是候选键。
首要的关键
主键是用于从表中检索记录的主键。它是表中的单个列或字段,唯一标识数据库表中的每条记录。
它可以在使用 CREATE TABLE 语句创建表时使用 PRIMARY KEY 关键字进行设置。以下是在表中的列上创建主键约束的基本语法 -
CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY(column_name) );
外键
一个表的主键将是另一表的外键。在向这些表中插入值时,主键字段中的值必须与外键字段中的值匹配;否则,外键列将不接受INSERT查询并抛出错误。
在 SQL Server 中,在表中设置外键字段的语法是 -
CREATE TABLE table_name ( column1 datatype, column2 datatype, ... CONSTRAINT fk_name FOREIGN KEY (column_name) REFERENCES referenced_table(referenced_column) );
备用键
备用键是可能是主键但实际上不是的候选键。与主键一样,它也唯一标识表的字段中的记录,以从该表中检索行元组。表中可以有一个或多个标识为备用键的字段。