MySQL Primary Key

Resumen: en este tutorial, aprenderá a utilizar la restricción de la clave principal de MySQL para crear la clave principal de una tabla.

Introducción a la clave principal de MySQL

Una clave principal es una columna o un conjunto de columnas que identifica de forma única cada fila de la tabla. La clave principal sigue estas reglas:

  • Una clave principal debe contener valores únicos. Si la clave principal consta de varias columnas, la combinación de valores en estas columnas debe ser única.
  • Una columna de clave principal no puede tener valores NULL. Cualquier intento de insertar o actualizar NULL en las columnas de clave principal generará un error. Tenga en cuenta que MySQL agrega implícitamente una restricción NOT NULL a las columnas de clave primaria.
  • Una tabla puede tener una sola clave primaria.

Porque MySQL funciona más rápido con números enteros, el tipo de datos de la columna de clave principal debe ser el número entero, por ejemplo, INT, BIGINT. Y debe asegurarse de que los rangos de valores del tipo entero para la clave principal sean suficientes para almacenar todas las filas posibles que pueda tener la tabla.

Una columna de clave principal a menudo tiene el AUTO_INCREMENT atributo que genera automáticamente un entero secuencial cada vez que inserta una nueva fila en la tabla.

Cuando define una clave principal para una tabla, MySQL crea automáticamente un índice llamado PRIMARY.

Ejemplos de LLAVE PRIMARIA de MySQL

La restricción PRIMARY KEY le permite definir una clave principal de una tabla cuando crea o modifica una tabla.

1) Defina una restricción PRIMARY KEY en CREATE TABLE

Normalmente, define la clave principal para una tabla en CREATE TABLE declaración.

Si la clave principal tiene una columna, puede usar la restricción PRIMARY KEY como restricción de columna:

Code language: SQL (Structured Query Language) (sql)

Cuando la clave principal tiene más de una columna, debe usar th e PRIMARY KEY restricción como una restricción de tabla.

En esta sintaxis, separa las columnas en column_list por comas ( ,).

La restricción de tabla PRIMARY KEY se puede usar cuando la clave principal tiene una columna:

El siguiente ejemplo crea una tabla llamada users cuya clave principal es la user_id columna:

Esta declaración crea la roles tabla que tiene la restricción PRIMARY KEY como restricción de tabla:

En caso de que la clave principal consista en varias columnas, debe especificarlas al final de la instrucción CREATE TABLE. Pones una lista separada por comas de columnas de clave primaria entre paréntesis seguidas de las PRIMARY KEY palabras clave.

El siguiente ejemplo crea el user_roles tabla cuya clave principal consta de dos columnas: user_id y role_id. Define la restricción PRIMARY KEY como la restricción de la tabla:

Tenga en cuenta que la declaración también creó dos restricciones de clave externa.

2) Define PRIMARY Restricciones de CLAVE usando ALTER TABLE

Si una tabla, por alguna razón, no tiene una clave primaria, puede usar la instrucción ALTER TABLE para agregar una clave primaria a la tabla de la siguiente manera:

Code language: SQL (Structured Query Language) (sql)

El siguiente ejemplo agrega la columna id a la clave principal.

Primero, cree la tabla pkdemos sin una clave principal.

Code language: SQL (Structured Query Language) (sql)

En segundo lugar, agregue una a la pkdemos tabla usando la ALTER TABLE instrucción:

Code language: SQL (Structured Query Language) (sql)

Si agrega una clave primaria a una tabla que ya tiene datos. Los datos de la (s) columna (s), que se incluirán en la clave principal, deben ser únicos y no NULL.

PRIMARY KEY vs. UNIQUE KEY vs. KEY

KEY es el sinónimo de INDEX. Utiliza KEY cuando desea crear un índice para una columna o un conjunto de columnas que no es parte de una clave principal o clave única.

Un índice UNIQUE garantiza que los valores de una columna deben ser únicos. A diferencia del índice PRIMARY, MySQL permite valores NULL en el índice UNIQUE. Además, una tabla puede tener varios UNIQUE índices.

Supongamos que email y username de los usuarios de la users deben ser únicos.Para hacer cumplir estas reglas, puede definir UNIQUE índices para las columnas email y username como la siguiente declaración:

Agregue un UNIQUE índice para la username columna:

Code language: SQL (Structured Query Language) (sql)

Agregue un índice UNIQUE para la email columna:

Code language: SQL (Structured Query Language) (sql)

En este tutorial, aprendió cómo crear una clave principal para una tabla nueva o agregar una clave principal a una tabla existente.

  • ¿Fue útil este tutorial?
  • Sí No

Leave a Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *