SQL PRIMARY KEYRestricciones


Restricción SQL PRIMARY KEY

La restricción PRIMARY KEY identifica de manera única cada registro en una tabla de base de datos.

PRIMARY KEY debe contener valores únicos y no puede contener valores NULL.

Cada tabla solo puede tener una PRIMARY KEY, y esta clave primaria puede estar formada por una sola columna o por varias columnas.


Restricción SQL PRIMARY KEY en CREATE TABLE

El siguiente SQL crea una restricción PRIMARY KEY en la columna "P_Id" cuando se crea la tabla "Persons":

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 / MS 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)
)

Para nombrar la restricción PRIMARY KEY y definir una restricción PRIMARY KEY de múltiples columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

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)
)

Nota:En el ejemplo anterior, solo hay una clave primaria PRIMARY KEY (pk_PersonID). Sin embargo, el valor de pk_PersonID está compuesto por dos columnas (P_Id y LastName).


Restricción SQL PRIMARY KEY en ALTER TABLE

Cuando la tabla ya ha sido creada, si desea crear una restricción PRIMARY KEY en la columna "P_Id", utilice el siguiente SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

Para nombrar la restricción PRIMARY KEY y definir una restricción PRIMARY KEY de múltiples columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

Nota:Si utiliza la sentencia ALTER TABLE para agregar una clave primaria, debe declarar que la columna de la clave primaria no contiene valores NULL (cuando se crea la tabla por primera vez).


Eliminar la restricción PRIMARY KEY

Para eliminar la restricción PRIMARY KEY, utilice el siguiente SQL:

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
Otras extensiones