首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> SQL 基礎

SQL PRIMARY KEY 主鍵約束完整指南:單欄/複合主鍵、命名約束與跨平台建立刪除語法

     編輯:SQL 基礎

SQL PRIMARY KEY 主鍵約束完整指南


核心規則

  • 唯一識別表中每一筆記錄
  • 值必須 唯一 且 非 NULL
  • 每個表 只能有一個 主鍵 (可包含多欄位 = 複合主鍵)

CREATE TABLE 時建立主鍵

MySQL

CREATE TABLE Persons (
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY (P_Id)
);

SQL Server / Oracle / Access

CREATE TABLE Persons (
    P_Id int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
);

命名約束 + 複合主鍵 (通用)

CREATE TABLE Persons (
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT pk_PersonID PRIMARY KEY (P_Id, LastName)
);

註:複合主鍵 pk_PersonID 由 P_Id 和 LastName 兩欄組成,組合值唯一。


ALTER TABLE 時新增主鍵 (通用)

ALTER TABLE Persons ADD PRIMARY KEY (P_Id);

-- 命名 + 複合
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id, LastName);

重要:使用 ALTER TABLE 加主鍵時,該欄位必須在建表時已宣告為 NOT NULL。


刪除主鍵約束

資料庫語法
MySQLALTER TABLE Persons DROP PRIMARY KEY
SQL Server / Oracle / AccessALTER TABLE Persons DROP CONSTRAINT pk_PersonID

主鍵是資料表的核心識別機制,設計時請遵循「最小、穩定、不為 NULL」原則。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved