Mysql Alter Table Primary Key

Mysql Alter Table Primary Key is used to remove the primary key from the table and add primary key to the existing other column of table.

Mysql Alter Table Primary Key

Mysql Alter Table Primary Key

     

Mysql Alter Table Primary Key is used to remove the primary key from the table and add primary key to the existing other column of table.

Understand with Example

The Tutorial  illustrate an example from 'Mysql Alter Table Primary Key'. To understand this example, we create a table employees with required field name and data type respectively. The createtable employee create a table employee with  Empid as primary key. 

 

 

 

 

Query to create table:

CREATE TABLE `employees` (
            ->Empid int(10),  
            ->Empname varchar(60),
             ->date date 
	     ->PRIMARY KEY(Empid)
           ->);

Query to insert data into Table named employees:

The Query insert into add the records or rows to the table 'employee'.

mysql>insert into employees values(01,'Girish','2008-12-22');
Query OK, 1 row affected (0.02 sec)
mysql>insert into employee1 values(02,'Komal','2008-12-23');
Query OK, 1 row affected (0.02 sec)

Query to view data of  Table named employees:

To view the detail from table 'employee' we use select query that return the detail of table 'employees'.

mysql> select * from employee;

Output:

+-------+---------+------------+
| Empid | Empname | date       |
+-------+---------+------------+
|     1 | Girish  | 2008-12-22 |
|     2 | Komal   | 2008-12-23 |
+-------+---------+------------+
2 rows in set (0.00 sec)

Query to view datatype of  Table named employees:

The describe employees return the Fieldname, data type, Null, Key, Default. 

mysql> describe employees;

Output:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| Empid   | int(10)     | NO   | PRI | 0       |       |
| Empname | varchar(60) | YES  |     | NULL    |       |
| date    | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Query for altering the Primary key of the table employees:

The Query alter is used to change the table ' Employees' and drop primary remove the 'Empid' as primary key. The table is no longer to contain a primary key.

Step1:-Drop the primary key

mysql> alter table Employees
    -> drop primary key;
Query OK, 2 rows affected (0.11 sec)
Records: 2  Duplicates: 0  Warnings: 0

Query to view changes occurs in the datatype of  Table named employees: 

mysql> describe employees;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| Empid   | int(10)     | NO   |     | 0       |       |
| Empname | varchar(60) | YES  |     | NULL    |       |
| date    | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Step1:-Define the primary key

Query for defining the Primary key of the table employees:

The Query alter redefine the table Employees and add keyword insert the 'Empname'  as Primary Key in the table 'employees.

 

mysql> alter table employees
    -> add primary key (Empname);
Query OK, 2 rows affected (0.14 sec)
Records: 2  Duplicates: 0  Warnings: 0

Query to view datatype of  Table named employees:

mysql> describe employees;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| Empid   | int(10)     | NO   |     | 0       |       |
| Empname | varchar(60) | NO   | PRI |         |       |
| date    | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)