Changing the Structure of an Existing Table in MySQL

By: Sathya Narayana Emailed: 1696 times Printed: 2196 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

To change the structure of the table, follow these steps:

  1. First you'll add the price field to the table, using the ADD command and specifying the properties of the field:

    mysql> ALTER TABLE book ADD (price INTEGER);
    

    So here you've added a field called price that contains integer values.

  2. Why would you represent price as an integer when a decimal would seem much more logical? Well, it was a deliberate mistake, so remove this field using the DROP command:

    mysql> ALTER TABLE book DROP price;
    
  3. Now add the field again, but this time as a decimal field, with a maximum of five characters, two of which are after the decimal point:

    mysql> ALTER TABLE book ADD (prize DECIMAL(5,2));
    
  4. Whoops, another boo-boo. This time, the data type of the field is correct (a decimal field), but the name of the field is wrong. Modify the field using the CHANGE command, rather than deleting it and creating a new one:

    mysql> ALTER TABLE book CHANGE prize price DECIMAL(5,2);
    

    At last, the field is just how you want it. Note that you had to specify all of the properties of the new field when you used the CHANGE command, even though you just wanted to change the field name.

  5. You should know about a couple of other SQL commands used with ALTER TABLE. The first is the ALTER command for changing field definitions. For instance, if you wanted to set the status field to a default value of P for published, you could use the following:

    mysql> ALTER TABLE book ALTER status SET DEFAULT 'P';
    
  6. The other command is MODIFY, which can change the entire definition of a particular field. Say, to be awkward, you wanted to change the price field back into an integer field. Then you could use the following:

    mysql> ALTER TABLE book MODIFY price INTEGER;
    

    If you try this last command, change the field back to a decimal afterward because you'll need it to be that type when you start inserting data


MySQL Home | All MySQL Tutorials | Latest MySQL Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.



Bookmark and Share

Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:



More Tutorials by Sathya Narayana
Querying Data with the JSTL in JSP
Deleting Data in MySQL
Modifying data and using WHERE clause in MySQL
Querying the Database in MySQL
Inserting Data into Tables in MySQL
Changing the Structure of an Existing Table in MySQL
The Exception Object in JSP
The Application Object in JSP
The Session Object in JSP
The Out Object in JSP
The Response Object in JSP
The Request Object in JSP
Tag Libraries in JSP
Scriptlets and Expressions in JSP
Declarations in JSP

More Tutorials in MySQL
Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access them.
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Changing the Structure of an Existing Table in MySQL
Inserting Data into Tables in MySQL
Querying the Database in MySQL
Modifying data and using WHERE clause in MySQL
Deleting Data in MySQL
What is SQL Injection
MySQL Strengths and Weaknesses
Table __________ is marked as crashed and should be repaired.

More Latest News
Most Viewed Articles (in MySQL )
What is SQL Injection
MySQL Strengths and Weaknesses
Changing the Structure of an Existing Table in MySQL
Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access them.
Table __________ is marked as crashed and should be repaired.
Inserting Data into Tables in MySQL
Querying the Database in MySQL
Modifying data and using WHERE clause in MySQL
Deleting Data in MySQL
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Most Emailed Articles (in MySQL)
What is SQL Injection
MySQL Strengths and Weaknesses
Modifying data and using WHERE clause in MySQL
Table __________ is marked as crashed and should be repaired.
Querying the Database in MySQL
Deleting Data in MySQL
Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access them.
Changing the Structure of an Existing Table in MySQL
Inserting Data into Tables in MySQL
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client