Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
PostgreSQL: clave principal
Este tutorial de PostgreSQL explica cómo Crear, eliminar, deshabilitar y habilitar claves primarias Viene con sintaxis y ejemplos en PostgreSQL.
¿Qué es una clave principal en PostgreSQL?
En PostgreSQL, una clave principal es un campo único o una combinación de campos que define de forma única un registro. Todos los campos pertenecientes a la clave principal no pueden contener valores NULL. Una tabla solo puede tener una clave primaria.
notas
- En PostgreSQL, use la declaración CREATE TABLE o ALTER TABLE para crear claves primarias.
- Utiliza la declaración ALTER TABLE en PostgreSQL para agregar o eliminar claves principales.
Cree una clave principal con la instrucción CREATE TABLE
Puede crear claves primarias en PostgreSQL utilizando la instrucción CREATE TABLE.
sintaxis
La sintaxis para crear una clave principal mediante la instrucción CREATE TABLE en PostgreSQL es:
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ... CONSTRAINT constraint_name PRIMARY KEY (index_col1, index_col2, ... index_col_n) );
o
CREATE TABLE table_name ( column1 datatype CONSTRAINT constraint_name PRIMARY KEY, column2 datatype [ NULL | NOT NULL ], ... );
table_name El nombre de la tabla que desea crear. column1, column2 Las columnas que desea crear en la tabla. Consulte la instrucción CREATE TABLE de PostgreSQL para obtener una sintaxis CREATE TABLE más detallada, ya que se trata de una simplificación excesiva de cómo se crean las claves primarias. constrict_name El nombre de la clave principal. index_col1, index_col2, … index_col_n Las columnas que componen la clave principal.
ejemplo
Veamos un ejemplo de cómo crear una clave principal usando la instrucción CREATE TABLE en PostgreSQL.
CREATE TABLE order_details ( order_detail_id integer NOT NULL, order_id integer NOT NULL, order_date date, quantity integer, notes varchar(200), CONSTRAINT order_details_pk PRIMARY KEY (order_detail_id) );
O también puede crear una clave principal en la tabla order_details usando la siguiente sintaxis:
CREATE TABLE order_details ( order_detail_id integer CONSTRAINT order_details_pk PRIMARY KEY, order_id integer NOT NULL, order_date date, quantity integer, notes varchar(200) );
En ambos ejemplos, creamos una clave principal llamada order_details_pk en la tabla order_details. Contiene solo una columna: la columna order_detail_id.
También podemos crear una clave principal con múltiples campos, como en el siguiente ejemplo:
CREATE TABLE order_details ( order_date date NOT NULL, customer_id integer NOT NULL, quantity integer, notes varchar(200), CONSTRAINT order_details_pk PRIMARY KEY (order_date, customer_id) );
Este ejemplo crea una clave principal llamada order_details_pk que consta de una combinación de las columnas order_date y customer_id. Por lo tanto, cada combinación de fecha_pedido e id_cliente debe ser única en la tabla detalles_pedido.
Crear clave principal – usando la instrucción ALTER TABLE
Puede crear claves primarias en PostgreSQL usando la instrucción ALTER TABLE.
sintaxis
La sintaxis para crear una clave principal mediante la declaración ALTER TABLE en PostgreSQL es:
ALTER TABLE table_name ADD CONSTRAINT [ constraint_name ] PRIMARY KEY (index_col1, index_col2, ... index_col_n)
table_name El nombre de la tabla a modificar. constrict_name El nombre de la clave principal. index_col1, index_col2, … index_col_n Las columnas que componen la clave principal.
ejemplo
Veamos un ejemplo de cómo crear una clave primaria usando la instrucción ALTER TABLE en PostgreSQL.
ALTER TABLE order_details ADD CONSTRAINT order_details_pk PRIMARY KEY (order_detail_id);
En este ejemplo, creamos una clave principal denominada order_details_pk en la tabla order_details existente. Consiste en la columna order_detail_id.
También podemos crear una clave principal con múltiples campos, como en el siguiente ejemplo:
ALTER TABLE order_details ADD CONSTRAINT order_details_pk PRIMARY KEY (order_date, customer_id);
En este ejemplo, creamos una clave principal llamada contactos_pk que consta de una combinación de las columnas last_name y first_name.
eliminar clave principal
Puede soltar claves primarias en PostgreSQL usando la instrucción ALTER TABLE.
sintaxis
La sintaxis para colocar una clave principal en PostgreSQL es:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
table_name El nombre de la tabla a modificar. constrict_name El nombre de la clave principal que se va a eliminar.
ejemplo
Veamos un ejemplo de cómo colocar una clave principal usando la instrucción ALTER TABLE en PostgreSQL.
ALTER TABLE order_details DROP CONSTRAINT order_details_pk;
En este ejemplo, eliminamos la clave principal de la tabla de contactos. No necesitamos especificar el nombre de la clave principal porque solo puede haber una en una tabla.