SQL PRIMARY KEY Keyword
The PRIMARY KEY constraint uniquely identifies each record in a table. A table can have only one primary key, which may consist of one or multiple columns.
SQL PRIMARY KEY on CREATE TABLE Syntax
CREATE TABLE table_name ( column1 datatype NOT NULL, column2 datatype, PRIMARY KEY (column1) );
SQL PRIMARY KEY on CREATE TABLE Example
This query creates a new table Rooms with room_id as the primary key.
CREATE TABLE Rooms ( room_id INTEGER NOT NULL, room_type TEXT, PRIMARY KEY (room_id) );

SQL PRIMARY KEY with Column-Level Declaration Syntax
CREATE TABLE table_name ( column1 datatype NOT NULL PRIMARY KEY, column2 datatype );
SQL PRIMARY KEY with Column-Level Declaration Example
This query creates a Buildings
table with building_id
set as the primary key.
CREATE TABLE Buildings ( building_id INTEGER NOT NULL PRIMARY KEY, building_name TEXT );

SQL PRIMARY KEY on Multiple Columns Syntax
CREATE TABLE table_name ( column1 datatype NOT NULL, column2 datatype NOT NULL, column3 datatype, CONSTRAINT pk_name PRIMARY KEY (column1, column2) );
SQL PRIMARY KEY on Multiple Columns Example
This query creates a LabRooms
table with a composite primary key of room_id
and floor_no
.
CREATE TABLE LabRooms ( room_id INTEGER NOT NULL, floor_no INTEGER NOT NULL, equipment TEXT, CONSTRAINT pk_LabRoom PRIMARY KEY (room_id, floor_no) );

SQL PRIMARY KEY on ALTER TABLE Syntax
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
SQL PRIMARY KEY on ALTER TABLE Example
This query adds a primary key to the Rooms
table on the room_id
column.
ALTER TABLE Rooms ADD PRIMARY KEY (room_id);
Note: This will not work in TechKubo (SQLite), as SQLite does not support adding a primary key after table creation.
SQL PRIMARY KEY on ALTER TABLE with Constraint Name Syntax
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2);
SQL PRIMARY KEY on ALTER TABLE with Constraint Name Example
ALTER TABLE LabRooms ADD CONSTRAINT pk_LabRoom PRIMARY KEY (room_id, floor_no);
Note: Not supported in TechKubo (SQLite). In SQLite, you cannot add primary keys to an existing table using ALTER TABLE.
SQL DROP PRIMARY KEY Constraint Syntax
ALTER TABLE table_name DROP PRIMARY KEY;
SQL DROP PRIMARY KEY Constraint Example
ALTER TABLE Rooms DROP PRIMARY KEY;
Note: This command is not supported in TechKubo (SQLite). You must recreate the table if you want to remove a primary key in SQLite.