sql >> Base de Datos >  >> RDS >> Database

Clave principal de SQL

Un campo que contiene datos únicos en una tabla se denomina CLAVE PRIMARIA (PK). Significa que un campo PRIMARY KEY debe contener datos únicos en la tabla.

  • UN campo PRIMARY KEY contiene valores en cada fila.
  • El campo PRIMARY KEY no puede contener una cadena vacía.
  • Los datos de PRIMARY KEY nunca cambian con el tiempo.
  • Una tabla puede constar de una sola CLAVE PRINCIPAL, que puede constar de uno o varios campos de la tabla. Cuando se utiliza más de una columna como CLAVE PRIMARIA de la tabla, se conocen como clave compuesta en la tabla.
  • No habrá registros duplicados para una CLAVE PRINCIPAL.
  • Si un campo se establece como PRIMARY KEY en la tabla, ese campo no puede contener los valores del mismo campo más de una vez en la tabla.

Por ejemplo, tenemos una tabla Student en la base de datos. La tabla contiene 4 campos Student_Id, Student_Name, Phone_Number y Email. Student_Id y Email es la CLAVE PRINCIPAL en la tabla Student. Solo hay una CLAVE PRINCIPAL, pero puede tener uno o varios campos en la tabla, como dijimos anteriormente. Los datos de un estudiante ya están presentes en la tabla, pero el mismo estudiante agrega sus datos nuevamente con la misma ID de correo electrónico. A medida que el estudiante ingresa los detalles, una ventana emergente mostrará el mensaje "El correo electrónico ya existe". Se muestra porque el correo electrónico ya existía en la tabla y el campo de correo electrónico es la CLAVE PRINCIPAL y la CLAVE PRINCIPAL no puede contener valores duplicados.

Crear CLAVE PRINCIPAL en la TABLA SQL

La siguiente consulta SQL crea una CLAVE PRINCIPAL en el campo Id_empleado cuando se crea la tabla 'Empleado'.

CREATE TABLE Employee( Employee_Id int PRIMARY KEY, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40) );        

La consulta anterior ha definido PRIMARY KEY para el campo Employee_Id. Podemos mencionar el nombre de la clave después del nombre del campo y el tipo de datos. La consulta anterior es la única forma en que podemos crear Employee_Id como PRIMARY KEY.

Para verificar si nuestra CLAVE PRINCIPAL se definió con éxito o no, podemos usar el comando DESC seguido del nombre de la tabla Empleado.

Empleado DESC;

Campos Tipo Nulo Clave Predeterminado Extra
Empleado_Id Int(11) NO PRI NULO
Nombre_del_empleado Varchar(40) NO NULO
Salario Int(11) NO NULO
Departamento Varchar(40) SI NULO
Ciudad Varchar(40) SI NULO

El campo de clave PRI se menciona delante de la fila Employee_Id, lo que significa que Employee_Id se definió correctamente como CLAVE PRINCIPAL.

Ventajas de usar PRIMARY KEY en la tabla:

  1. Acceso rápido a los datos de la tabla.
  2. No se permiten valores duplicados en los campos PRIMARY KEY.

Otra forma de crear una CLAVE PRINCIPAL

CREATE TABLE Employee( Employee_Id int NOT NULL, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40), PRIMARY KEY(Employee_ID) );

En la misma consulta anterior, debemos mencionar NOT NULL delante del nombre del campo, que se crea como PRIMARY KEY, y al final, debemos escribir la palabra clave PRIMARY KEY y el nombre del campo entre paréntesis, tal como se muestra arriba. consulta.

Cree una restricción PRIMARY KEY en los campos cuando la tabla ya existe

Utilice la siguiente consulta:

ALTER TABLE Employee ADD PRIMARY KEY(Employee_Id);

Usando la consulta ALTER TABLE para definir PRIMARY KEY, el campo PRIMARY KEY ya se ha declarado con la restricción NOT NULL.

CLAVE PRIMARIA SQL en múltiples columnas

La siguiente consulta SQL crea una CLAVE PRIMARIA en más de una columna cuando se crea la tabla 'Estudiante'.

CREATE TABLE Student( Student_Id int NOT NULL, Student_Name varchar(40), Department varchar(40), Phone_Number int(10), Email varchar(100) NOT NULL, PRIMARY KEY(Student_ID, Email));

Solo se crea una CLAVE PRIMARIA en el ejemplo en Student_Id y Email.

Para verificar si nuestra PRIMARY KEY se definió con éxito o no, podemos usar el comando DESC seguido del nombre de la tabla Student.

DESC Student;
Campos Tipo Nulo Clave Predeterminado Extra
Estudiante_Id Int(11) NO PRI NULO
Nombre_Estudiante Varchar(40) SI NULO
Departamento Varchar(40) SI NULO
Número_de_teléfono Int(10) SI NULO
Correo electrónico Varchar(100) NO PRI NULO

Como podemos ver frente a la fila Student_Id y Email, se mencionan los campos clave PRI, lo que significa que Student_Id y Email se han definido correctamente como PRIMARY KEY.

Ahora ejecutaremos SHOW CREATE TABLE seguido de Student table name, que describirá la tabla de estudiantes.

SHOW CREATE TABLE Student;

En el resultado anterior, podemos ver que solo se crea una CLAVE PRINCIPAL y, entre paréntesis, se menciona el nombre de los campos, que se crea como CLAVE PRINCIPAL al crear la tabla.

Supongamos que queremos eliminar la restricción PRIMARY KEY de la tabla de estudiantes. Usaremos la siguiente consulta para descartar la restricción PRIMARY KEY:

ALTER TABLE Student DROP PRIMARY KEY;

Para verificar si nuestra PRIMARY KEY se eliminó con éxito o no, usaremos el comando DESC seguido del nombre de la tabla Student.

DESC Student;
Campos Tipo Nulo Clave Predeterminado Extra
Estudiante_Id Int(11) NO NULO
Nombre_Estudiante Varchar(40) SI NULO
Departamento Varchar(40) SI NULO
Número_de_teléfono Int(10) SI NULO
Correo electrónico Varchar(100) NO NULO