SQL PRIMARY KEY 约束- 唯一标识表中记录的关键约束

这篇具有很好参考价值的文章主要介绍了SQL PRIMARY KEY 约束- 唯一标识表中记录的关键约束。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SQL NOT NULL 约束

SQL NOT NULL 约束用于强制确保列不接受 NULL 值。这意味着该字段始终包含一个值,而不允许插入新记录或更新记录时不提供此字段的值。

在 CREATE TABLE 时使用 SQL NOT NULL

以下 SQL 确保在创建 "Persons" 表时,“ID”、“LastName” 和 “FirstName” 列将不接受 NULL 值:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255) NOT NULL,
    Age int
);

在 ALTER TABLE 时使用 SQL NOT NULL

要在已创建的 "Persons" 表上的 "Age" 列上创建 NOT NULL 约束,使用以下 SQL:

对于 SQL Server / MS Access:

ALTER TABLE Persons
ALTER COLUMN Age int NOT NULL;

对于 MySQL / Oracle(10G 之前的版本):

ALTER TABLE Persons
MODIFY COLUMN Age int NOT NULL;

对于 Oracle 10G 及更高版本:

ALTER TABLE Persons
MODIFY Age int NOT NULL;

通过这些 SQL 语句,您可以确保指定列不会包含 NULL 值,从而增强数据的完整性。

SQL UNIQUE 约束

SQL UNIQUE 约束确保列中的所有值都是不同的。UNIQUEPRIMARY KEY 约束都为列或一组列提供了唯一性的保证。PRIMARY KEY 约束自动具有 UNIQUE 约束。每个表只能有一个 PRIMARY KEY 约束,但可以有多个 UNIQUE 约束。

在 CREATE TABLE 时使用 SQL UNIQUE 约束

以下 SQL 在创建 "Persons" 表时在 "ID" 列上创建了一个 UNIQUE 约束:

对于 SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

对于 MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    UNIQUE (ID)
);

要为 UNIQUE 约束命名,并在多列上定义 UNIQUE 约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT UC_Person UNIQUE (ID, LastName)
);

在 ALTER TABLE 时使用 SQL UNIQUE 约束

要在表已经创建的情况下在 "ID" 列上创建 UNIQUE 约束,请使用以下 SQL:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (ID);

要为 UNIQUE 约束命名,并在多列上定义 UNIQUE 约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);

删除 UNIQUE 约束

要删除 UNIQUE 约束,请使用以下 SQL:

对于 MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;

对于 SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;

通过这些 SQL 语句,您可以在数据库中定义和管理 UNIQUE 约束,以确保列中的数据唯一性。

SQL PRIMARY KEY 约束

SQL PRIMARY KEY 约束唯一标识表中的每条记录。主键必须包含唯一的值,并且不能包含 NULL 值。一个表只能有一个主键;在表中,这个主键可以由单个列(字段)或多个列(字段)组成。

在 CREATE TABLE 时使用 SQL PRIMARY KEY

以下 SQL 在创建 "Persons" 表时在 "ID" 列上创建了一个 PRIMARY KEY

对于 MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
);

对于 SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

要允许对主键约束进行命名,并定义在多列上的主键约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT PK_Person PRIMARY KEY (ID, LastName)
);

注意: 在上面的示例中只有一个 PRIMARY KEYPK_Person)。然而,主键的值由两个列(ID + LastName)组成。

在 ALTER TABLE 时使用 SQL PRIMARY KEY

要在表已经创建的情况下在 "ID" 列上创建主键约束,请使用以下 SQL:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (ID);

要允许对主键约束进行命名,并定义在多列上的主键约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);

注意: 如果使用 ALTER TABLE 添加主键,则主键列必须在创建表时声明为不包含 NULL 值。

删除 PRIMARY KEY 约束

要删除主键约束,请使用以下 SQL:

对于 MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY;

对于 SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

通过这些 SQL 语句,您可以在数据库中定义和管理 PRIMARY KEY 约束,以确保表中的数据具有唯一的标识。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注文章来源地址https://www.toymoban.com/news/detail-749912.html

到了这里,关于SQL PRIMARY KEY 约束- 唯一标识表中记录的关键约束的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL UPDATE 语句(更新表中的记录)

    UPDATE 语句用于更新表中已存在的记录。 还可以使用AND或OR运算符组合多个条件。                 SQL UPDATE 语法 具有WHERE子句的UPDATE查询的基本语法如下所示:  请注意  更新表中的记录时要小心! 要注意SQL UPDATE 语句中的 WHERE 子句!   WHERE子句指定哪些记录需要更新。如

    2024年04月28日
    浏览(41)
  • 【SQL】对表中的记录通过时间维度分组,统计出每组的记录条数

    场景:一般用作数据统计,比如统计一个淘宝用户在年、月、日的维度上的订单数。 业务:一个集合,以时间维度来进行分组求和。 准备一张订单表order,有一些常规属性,比如创建时间,订单号。 DDL语句如下: 测试数据准备如下,50条DML语句,其中order_date分布在2023年1月

    2024年01月16日
    浏览(42)
  • hive创建唯一标识列(自增id)

    目录 一、需求 二、方法 1.row_number() 2.UUID 3.row_sequence() 三、对比 在某一张 hive 表中需要有一列去唯一标识某一行,有些类似于MySQL中的自增ID 使用UDF函数row_sequence(),必须在Hive环境要有hive-contrib相关jar包 执行查询语句 row_number函数是对整个数据集做处理,自增序列在当次排序

    2024年02月14日
    浏览(41)
  • 如何获取浏览器客户端的唯一标识

    在 Web 应用程序中, 可以使用浏览器的 window.navigator.userAgent 属性来获取浏览器的用户代理字符串。这个字符串包含有关浏览器类型和版本的信息, 但是它不是唯一的, 因为不同的浏览器可能具有相同的用户代理字符串。 要获取更加唯一的标识符, 可以使用浏览器提供的 Web 技术

    2024年02月13日
    浏览(53)
  • 电脑的唯一标识符,VC++如何读出?

    电脑有没有唯一标识符,查了一些资料,开始以为CPUID可以,但是实际上统一类型的CPU用的是相同的ID: 那么BIOS ID是否是唯一的呢?主板上 的BIOS 芯片是主板上 唯一 贴有标签的芯片,如果电脑开机时登录bios可以看到里面的一些基本信息: bios编号也可以用win cmd的命令获得,

    2024年02月12日
    浏览(59)
  • 微信小程序中使用UUID创建唯一标识

    1,在小程序根目录下的utils文件夹创建一个名为uuid.js文件,将下列代码粘贴上去: const uuid = function () {   var s = [];   var hexDigits = \\\"0123456789abcdef\\\";   for (var i = 0; i  36; i++) {     s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);   }   s[14] = \\\"4\\\";    s[19] 

    2024年02月04日
    浏览(45)
  • Android设备的各种唯一标识符 ID

    只有Android手机才有, IMEI号是一串15位的号码,比如像这样 359881030314356 需要权限 android.permission.READ_PHONE_STATE 通常用户会因为你向他们要了这个权限而给你一个差评,因为他们觉得你就是在窃取他们的隐私,很明显,你就是在收集一些数据 这个是不靠谱的,因为有时候它是

    2024年02月11日
    浏览(65)
  • STM32唯一设备标识符UID的读取

    1.UID的介绍 STM32微控制器(MCU)的唯一UID(Unique ID)是一个独特的标识符,用于区分不同的芯片。每个STM32芯片都有一个唯一的UID,由96位的数据组成。这个唯一UID不是由用户编程设置的,而是在制造过程中由芯片上的专用电路生成的。 STM32 MCU的唯一UID通常由三个32位的数据组

    2024年02月04日
    浏览(41)
  • Java 和 UUID:编写可靠的唯一标识符

    UUID(通用唯一识别码)是一种用于唯一标识分布式系统中的对象的标准。它是一个128位的字符串,包含了时间戳和随机数字,可以保证在分布式系统中每个对象都有一个独特的标识符,而不会发生冲突。 UUID最常见的用途是在不同的系统和平台之间传递唯一的标识符,以便于

    2024年02月04日
    浏览(73)
  • Java接口访问限制次数(使用IP作为唯一标识)

    1、获取用户IP工具类 2、接口限制注解(切面) (1)controller层 (2)注解类 (3)切面方法

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包