MySQL Key Constraints - C# Corner
Maybe your like
Introduction
In this tutorial, I am going to explain about Key Constraints in MySQL with examples.
Key Constraint
A constraint allows columns in a table that restricts how many types of changeable data values are in a column of the table.
Primary Key Constraint
A Primary Key is defined as a column or a set of columns that uniquely identifies each row in the table.
In the primary key constraints, there are some different things, such as the ones given below.
- Each record uniquely identifies a primary key constraint in a database table.
- The primary keys must contain unique values.
- NULL values are not allowed in primary key columns.
- Each table should have a primary key and can have only one primary key.
- A table can have only one primary key, but the primary key can consist of more than one column.
1. Define a PRIMARY KEY Constraint Using CREATE TABLE
Syntax
a. When a Primary key contains a single column.
CREATE TABLE < table_name > ( Primary_key_column Datatype PRIMARY KEY, );b. When the Primary key contains more than one column.
CREATE TABLE < table_name > ( Primary_key_column1 Datatype, Primary_key_column2 Datatype, PRIMARY KEY(Primary_key_column1, Primary_key_column2) );The following command creates a PRIMARY KEY on the "C_Id" column when the table ‘Company’ has been created.
Example
CREATE TABLE Company ( C_Id int NOT NULL, CompanyName varchar(255) NOT NULL, Establishment_date datetime NOT NULL, Address varchar(255), Description varchar(255), PRIMARY KEY(C_Id) );
2. PRIMARY KEY Constraint Using ALTER TABLE
a)If the table is already created and we have to add a primary key to it, then we use ALTER TABLE command to add a primary key constraint using alter table command.
Syntax
ALTER TABLE <table_name> ADD PRIMARY KEY (column_name);Example

b)A table can have only one primary key, but the primary key can consist of more than one column.
Syntax
ALTER TABLE <table_name> ADD CONSTRAINT < constraint_name> PRIMARY KEY (column_list);Example

3. DROP PRIMARY KEY Constraint
When we need to drop a PRIMARY KEY constraint, then we use the following commands.
Syntax
ALTER TABLE Persons DROP PRIMARY KEY;Example

UNIQUE KEY CONSTRAINT
In the UNIQUE constraint, each record is uniquely identified in a database table.
Automatically a PRIMARY KEY constraint has a UNIQUE constraint defined on it.
1. UNIQUE KEY CONSTRAINT Using CREATE TABLE Command
The following command creates a UNIQUE constraint on the "C_Id" column when the table “Company” is created.
Syntax
CREATE TABLE Company ( C_Id int NOT NULL, CompanyName varchar(255) NOT NULL, Establishment_date datetime NOT NULL, Address varchar(255) NOT NULL, Description varchar(255), UNIQUE(C_ID) );Example

2. UNIQUE KEY CONSTRAINT Using ALTER TABLE
a.If the table is already created and we have to add a unique key to it, then we use the ALTER TABLE command to add a unique key constraints using alter table command.
Syntax
ALTER TABLE <table_name> ADD UNIQUE (column_name);Example

b)To allow the naming of a UNIQUE constraint and for defining a UNIQUE constraint on multiple columns, use the below command.
Syntax
ALTER TABLE <table_name> ADD CONSTRAINT < constraint_name> UNIQUE (column_list);Example

3. DROP UNIQUE KEY Constraints
To drop a UNIQUE constraint, use the following Syntax
Syntax
ALTER TABLE <table_name> DROP INDEX <constraint_name>;Example

FOREIGN KEY CONSTRAINT
The individual purpose of a foreign key constraint is to define a relationship between two tables.
Defining a FOREIGN KEY constraint
Now, I am showing you the basic syntax to define foreign key constraints in the CREATE Table command.
Syntax
CREATE TABLE <table_name> ( <column_lists>, [CONSTRAINT constraint_name] FOREIGN KEY (Foreign_key_name) (column_name) REFERENCES <parent_table_name> (column_name) [ON DELETE/UPDATE reference_option]Here, in this syntax
- After the “CONSTRAINT” keyword, specify the name of the foreign key “constraint name” that you want.
- Then, after the “FOREIGN KEY” keyword, specify the list of foreign key columns. Note that the foreign key name is optional, and if you don’t specify it, it will generate automatically.
- Now, specify the “parent_table_name” followed by a “column_name” to which the foreign key columns reference.
- Finally, specify the “reference_option,” which determines the actions that are taken by MySQL when any value is updated or deleted in the parent table.
MySQL has 5 reference options
- CASCADE
- SET NULL
- NO ACTION
- RESTRICT
- SET DEFAULT
1. Define a FOREIGN KEY Constraint Using CREATE TABLE
Here is a simple example that relates parent and child tables through a single column using a foreign key concept. Let’s see.
Example
CREATE TABLE Parent_Table( P_ID INT AUTO_INCREMENT, PRIMARY KEY(P_ID) ); CREATE TABLE Child_Table( C_ID INT AUTO_INCREMENT PRIMARY KEY, Parent_ID INT, CONSTRAINT par_ind FOREIGN KEY(Parent_ID) REFERENCES Parent_Table(P_ID) ON DELETE CASCADE );

2. FOREIGN KEY Constraint Using ALTER TABLE
To create a FOREIGN KEY constraint on the "P_Id" column when the "Orders" table is already created, use the following commands.
Syntax
ALTER TABLE <child_table_name> ADD FOREIGN KEY (column_name) REFERENCES <Parent_table_name>(column_name);Example

3. DROP FOREIGN KEY Constraints
When we have to drop a FOREIGN KEY constraint, use the following MySQL syntax.
Syntax
ALTER TABLE <table_name> DROP FOREIGN KEY <constraint_name>;Reference
https://www.mysqltutorial.org/
Conclusion
In this article, I have discussed the concept of Key Constraints in MySQL with various examples.
I hope you enjoyed this article. Follow C# Corner to learn more new and amazing things about MySQL.
Thanks for reading this article!
Tag » Add Constraint Unique Key Mysql
-
MySQL: Unique Constraints - TechOnTheNet
-
SQL UNIQUE Constraint - W3Schools
-
MySQL UNIQUE Constraint - W3Schools
-
Mysql - How Add Unique Key To Existing Table (with Non Uniques Rows)
-
MySQL UNIQUE Constraint
-
Using MySQL UNIQUE Index To Prevent Duplicates
-
MySQL Unique Key - Javatpoint
-
Using MySQL Unique Constraints - Linux Hint
-
MySQL 8.0 Reference Manual :: 13.1.9 ALTER TABLE Statement
-
24.6.1 Partitioning Keys, Primary Keys, And Unique Keys
-
Guide To Unique Key In MySQL With Examples - EduCBA
-
ADD CONSTRAINT | CockroachDB Docs
-
Create Unique Constraints - SQL Server - Microsoft Docs
-
MySQL Constraint - W3resource