En SQL PRIMARY KEY o «CLAVE PRINCIPAL», se utiliza para identificar cada registro en una tabla de base de datos SQL. Cada registro de esta clave principal debe ser ÚNICO y sin valor NULL.
La clave principal es una restricción con índice SQL, cada una de las tablas puede contener solo una, que consta de una o más columnas. En SQL PRIMARY KEY se puede definir en una instrucción en el comando CREATE TABLE o el comando ALTER TABLE.
El uso más común es crear una columna digital que se incrementa automáticamente con cada registro gracias a AUTO_INCREMENT.
Sintaxis SQL PRIMARY KEY CON EL COMANDO CREATE TABLE
El uso común en SQL PRIMARY KEY se puede hacer al crear una tabla utilizando la siguiente sintaxis:
CREATE TABLE tabla_nombre (
comumna1 int NOT NULL AUTO_INCREMENT,
columna2 varchar(255),
columna3 int
.......
PRIMARY KEY (column1));
En este ejemplo, la clave principal será una columna numérica de tipo INT, denominada «id» (abreviatura de «número») y esta columna se incrementará automáticamente con cada registro.
EJEMPLO SQL PRIMARY KEY CON EL COMANDO CREATE TABLE
Veremos un ejemplo creando una tabla de «usuario» que enumerará el nombre, el correo electrónico y la fecha del registro. Para crear esta tabla, puede utilizar la siguiente consulta:
CREATE TABLE Usuario (
id INT PRIMARY KEY (id),
nombre VARCHAR(50),
email VARCHAR(50),
fecha DATE,
);
Nota: sería técnicamente posible definir la clave principal en 2 columnas: A continuación, veamos cómo crear una clave principal en SQL Server (Transact-SQL), donde la clave principal es una clave compuesta que se compone de más de un campo.
Por ejemplo:
CREATE TABLE empleado
( nombre VARCHAR(50) NOT NULL,
apellido VARCHAR(50) NOT NULL,
salario MONEY,
CONSTRAINT empleado_pk PRIMARY KEY (nombre, apellido)
);
En este ejemplo, hemos creado una clave principal que se compone de dos columnas, las columnas nombre y apellido. Estos dos campos definirían de forma única los registros en la tabla de empleados.
SINTAXIS SQL PRIMARY KEY: CON ALTER TABLE
Puede crear una clave principal en SQL Server (Transact-SQL) con la instrucción ALTER TABLE. Sin embargo, solo puede usar la declaración ALTER TABLE para crear una clave principal en las columnas que ya están definidas como NOT NULL. Si las columnas permiten valores NULL, no podrá agregar la clave principal sin eliminar y volver a crear la tabla.
La sintaxis para crear una clave principal o en SQL primary key mediante la instrucción del comando ALTER TABLE en SQL Server es:
ALTER TABLE tabla_nombre
ADD CONSTRAINT Nombre_restricción PRIMARY KEY (columna1, columna2, ... columna_n);
EJEMPLO SQL PRIMARY KEY CON ALTER TABLE
Veamos un ejemplo de cómo crear una clave principal mediante la instrucción ALTER TABLE.
Por ejemplo:
ALTER TABLE empleados
ADD CONSTRAINT empleados_pk PRIMARY KEY (empleados_id);
En este ejemplo, hemos creado una clave principal en la tabla de empleados existente denominada empleados_pk. Consiste en el campo llamado empleados_id . Nuevamente le resalto, que es trascendental tener presente que el empleados_id ya debe estar definido como un campo NOT NULL para que esta instrucción ALTER TABLE tenga éxito. Si la columna empleados_id permite valores NULOS, la tabla de empleados deberá eliminarse y volver a crearse con empleados_id definido como un campo NOT NULL para que se cree la clave principal.
También podríamos crear una clave principal con más de un campo como en el siguiente ejemplo:
ALTER TABLE empleados
ADD CONSTRAINT empleados_pk PRIMARY KEY (nombre, apellido);
En este ejemplo, hemos creado una clave principal en la tabla de empleados que consta de los campos nombre y apellido. Los campos nombre y apellido deben definirse como NOT NULL en la tabla de empleados para que esta clave principal se cree correctamente.
Deshabilitar SQL PRIMARY KEY
Puede deshabilitar una clave principal mediante la declaración ALTER TABLE en SQL Server (Transact-SQL).
Sintaxis
La sintaxis para deshabilitar una clave principal mediante la instrucción ALTER INDEX en SQL Server (Transact-SQL) es:
ALTER INDEX Nombre_restricción ON tabla_nombre
DISABLE;
Ejemplo
Veamos un ejemplo de cómo deshabilitar un primario usando la instrucción ALTER INDEX en SQL Server (Transact-SQL).
Por ejemplo:
ALTER INDEX empleados_pk ON empleados
DISABLE;
En este ejemplo, deshabilitaríamos la clave principal en la tabla de empleados denominada empleados_pk .
Habilitar SQL PRIMARY KEY
Puede habilitar una clave principal mediante la instrucción ALTER INDEX en SQL Server (Transact-SQL).
Sintaxis
La sintaxis para habilitar una clave principal mediante la instrucción ALTER INDEX en SQL Server (Transact-SQL) es:
ALTER INDEX Nombre_restricción ON tabla_nombre
REBUILD;
Ejemplo
Veamos un ejemplo de cómo habilitar una clave principal usando la instrucción ALTER INDEX en SQL Server.
ALTER INDEX empleados_pk ON empleados
REBUILD;
En este ejemplo, estamos habilitando una clave principal en la tabla de empleados denominada employee_pk .
Crear clave primaria con SQL Server Management Studio
Paso 1) Haga clic izquierdo en la carpeta base de datos.
Paso 2) Haga clic izquierdo en el nombre de la base de datos.
Paso 3) Haga clic izquierdo en la carpeta con el nombre de la tabla
Paso 4) Haga clic derecho en el nombre de la tabla la tabla.
Paso 5) clic izquierdo en el menú en el comando Diseño.
Paso 5) Haga clic derecho en campo en este caso ID.
Paso 6) Haga clic izquierdo en el menú contextual en el comando Establecer clave principal.