Restricción PRIMARY KEY SQL

Restricción PRIMARY KEY SQL

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

La clave principal debe contener valores únicos.

La columna de la clave principal no puede contener valores NULL.

Cada tabla debe tener una clave principal y solo puede tener una clave principal.

Restricción de PRIMARY KEY en CREATE TABLE SQL

El siguiente SQL crea una restricción de PRIMARY KEY en la columna "Id_P" al crear la tabla "Persons":

MySQL:

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

SQL Server / Oracle / MS Access:

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

Si necesita nombrar la restricción PRIMARY KEY y definir restricciones PRIMARY KEY para múltiples columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Restricción PRIMARY KEY de SQL en ALTER TABLE

Si crea una restricción PRIMARY KEY para la columna "Id_P" en una tabla ya existente, utilice el siguiente SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)

Si necesita nombrar la restricción PRIMARY KEY y definir restricciones PRIMARY KEY para múltiples columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Notas:Si utiliza la sentencia ALTER TABLE para agregar una clave principal, debe declarar la columna de clave principal como no contiene valores NULL (al crear la tabla por primera vez).

Anular restricción PRIMARY KEY

Si necesita anular 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