Altering Database Tables : Alter Table : Table Index SQL / MySQL


SQL / MySQL » Table Index » Alter Table »

 

Altering Database Tables



/*

mysql> CREATE TABLE Employee (
    ->    Name    VARCHAR(50) PRIMARY KEY NOT NULL,
    ->    PhoneNo VARCHAR(15) DEFAULT 'Unknown Phone',
    ->    Age     INT CHECK (Age BETWEEN 20 and 30));
Query OK, 0 rows affected (0.04 sec)

mysql> Describe Employee;
+---------+-------------+------+-----+---------------+-------+
| Field   | Type        | Null | Key | Default       | Extra |
+---------+-------------+------+-----+---------------+-------+
| Name    | varchar(50) |      | PRI |               |       |
| PhoneNo | varchar(15) | YES  |     | Unknown Phone |       |
| Age     | int(11)     | YES  |     | NULL          |       |
+---------+-------------+------+-----+---------------+-------+
3 rows in set (0.01 sec)

mysql> Select * from Employee;
+----------+---------------+------+
| Name     | PhoneNo       | Age  |
+----------+---------------+------+
| John Doe | Unknown Phone |   31 |
+----------+---------------+------+
1 row in set (0.00 sec)

mysql> ALTER TABLE Employee DROP INDEX Name;
ERROR 1091 (42000): Can't DROP 'Name'; check that column/key exists
mysql> ALTER TABLE Employee ADD PRIMARY KEY (Name);
ERROR 1068 (42000): Multiple primary key defined
mysql> Describe Employee;
+---------+-------------+------+-----+---------------+-------+
| Field   | Type        | Null | Key | Default       | Extra |
+---------+-------------+------+-----+---------------+-------+
| Name    | varchar(50) |      | PRI |               |       |
| PhoneNo | varchar(15) | YES  |     | Unknown Phone |       |
| Age     | int(11)     | YES  |     | NULL          |       |
+---------+-------------+------+-----+---------------+-------+
3 rows in set (0.00 sec)

*/
Drop TABLE Employee;
       
CREATE TABLE Employee (
   Name    VARCHAR(50PRIMARY KEY NOT NULL, 
   PhoneNo VARCHAR(15DEFAULT 'Unknown Phone',
   Age     INT CHECK (Age BETWEEN 20 and 30));

Describe Employee;

INSERT INTO Employee (Name, Phone, AgeVALUES ('Joe Yin', '666 2323', 26);
INSERT INTO Employee (Name, AgeVALUES ('John Doe', 31);

Select * from Employee;
  
  
ALTER TABLE Employee DROP INDEX Name;
ALTER TABLE Employee ADD PRIMARY KEY (Name);

Describe Employee;

           
       



Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

SQL / MySQL

 Navioo Table Index
» Alter Table