CLAVE PRIMARIA DE SQL: Cómo crear y agregar a una tabla existente
¿Qué es la clave principal en SQL?
Clave primaria es un campo o una combinación de campos que identifican un registro de forma única. La clave principal es una columna o un conjunto de columnas que son únicas. En otras palabras, cada valor es único para la clave principal.
Reglas para la clave primaria
- Cada tabla puede tener sólo una clave primaria SQL.
- Todos los valores son únicos y el valor SQL de clave principal puede identificar de forma única cada fila.
- El sistema no permitirá insertar una fila con la clave primaria de SQL Server que ya existe en la tabla.
- La clave principal no puede ser NULL.
El siguiente diagrama resume todos los puntos anteriores para la clave principal de SQL.
Cómo crear una clave primaria en SQL Server
Podemos crear una clave primaria en 2 maneras:
1. SQL Server Management Studio
2. T-SQL: cree el primario mientras crea una nueva tabla
SQL Server Management Studio
Paso 1) Haga clic derecho en el nombre de la tabla. Haga clic en Diseño.
Paso 2) Haga clic derecho en el nombre de la columna. Haga clic en 'Establecer clave principal
Resultado: Course_Id es ahora un Clave primaria.
T-SQL: cree una clave principal mientras crea una nueva tabla.
A continuación se muestra la sintaxis para crear una tabla con clave principal de T-SQL
Sintaxis:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Creemos una tabla con una columna como clave principal de SQL.
consulta:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Paso 1) Ejecute la consulta haciendo clic en 'Ejecutar.'
Resultado: Course_Id es ahora un Clave primaria.
Ejemplo: Veamos si permite ingresar múltiples registros con el mismo ID de curso.
Paso 1) Insertar 4 filas con ID_curso diferente
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
Paso 2) Verifique todos los datos insertados correctamente ejecutando la consulta Seleccionar.
Nota: Podemos insertar valores duplicados en la clave no primaria.
Paso 3) Ahora intentemos insertar nuevos registros con un Course_ID existente que sea la clave principal.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Resultado: El sistema no permite insertar un nuevo valor ya que 4 existe la columna Course_ID que es una clave principal.
¿Cómo agregar una clave principal a una tabla existente en SQL?
Ahora veremos cómo agregar una clave principal a una tabla existente en SQL:
Puede utilizar la instrucción ALTER para crear una clave principal. Sin embargo, la clave principal solo se puede crear en columnas definidas como NOT NULL. No puede crear una clave principal en una columna que permita valores NULL. Si es necesario, debe eliminar y volver a crear la tabla.
Aquí está la sintaxis:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Por ejemplo:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Hemos agregado una restricción de clave principal a una tabla ya existente. La restricción se agregó en la columna de admisión y se le asignó el nombre Students_pk.
¡Datos interesantes!
- La clave principal puede ser una combinación de varias columnas. Esta combinación se conoce como Clave primaria compuesta.
- La clave principal puede tener un máximo de 16 columnas.
Resum
- Cada tabla puede tener solo una clave primaria
- Todos los valores son únicos, lo que puede identificar de forma única cada fila.