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_PersonIDOtras extensiones