MySQL Programming

  Home  Databases Programming  MySQL Programming


“Learn MySQL Programming with interview questions and answers”



110 MySQL Programming Questions And Answers

101⟩ How To Add a New Column to an Existing Table in MySQL?

If you have an existing table with existing data rows, and want to add a new column to that table, you can use the "ALTER TABLE ... ADD COLUMN" statement. The tutorial script below shows you a good example:

mysql> ALTER TABLE tip ADD COLUMN author VARCHAR(40);

Query OK, 1 row affected (0.18 sec)

Records: 1 Duplicates: 0 Warnings: 0

mysql> SHOW COLUMNS FROM tip;

+-------------+--------------+------+-----+---------+-------

| Field | Type | Null | Key | Default | Extra

+-------------+--------------+------+-----+---------+-------

| id | int(11) | NO | PRI | |

| subject | varchar(80) | NO | | |

| description | varchar(256) | NO | | |

| create_date | date | YES | | NULL |

| author | varchar(40) | YES | | NULL |

+-------------+--------------+------+-----+---------+-------

5 rows in set (0.01 sec)

This SQL script added a new column called "author" to the "tip" table. NULL values were added to this column on all existing data rows.

 178 views

102⟩ How To Rename an Existing Column in a Table?

If you have an existing column in a table and you want to change the column name, you can use the "ALTER TABLE ... CHANGE" statement. This statement allows you to change the name of a column, and its definition. The tutorial script below gives you a good example:

mysql> ALTER TABLE tip CHANGE COLUMN subject

title VARCHAR(60);

Query OK, 1 row affected (0.51 sec)

Records: 1 Duplicates: 0 Warnings: 0

mysql> SHOW COLUMNS FROM tip;

+-------------+--------------+------+-----+---------+-------

| Field | Type | Null | Key | Default | Extra

+-------------+--------------+------+-----+---------+-------

| id | int(11) | NO | PRI | |

| title | varchar(60) | YES | | NULL |

| description | varchar(256) | NO | | |

| author | varchar(40) | YES | | NULL |

+-------------+--------------+------+-----+---------+-------

4 rows in set (0.02 sec)

 199 views

103⟩ How To Rename an Existing Table in MySQL?

If you want to rename an existing table, you can use the "ALTER TABLE ... RENAME TO" statement. The tutorial script below shows you a good example:

mysql> ALTER TABLE tip RENAME TO faq;

Query OK, 0 rows affected (0.01 sec)

mysql> SELECT * FROM faq;

+----+-------------+-------------------------+--------+

| id | title | description | author |

+----+-------------+-------------------------+--------+

| 1 | Learn MySQL | Visit www.GlobalGuideLine.com | NULL |

+----+-------------+-------------------------+--------+

1 row in set (0.00 sec)

 231 views

104⟩ How To Get a List of Indexes of an Existing Table?

If you want to see the index you have just created for an existing table, you can use the "SHOW INDEX FROM tableName" command to get a list of all indexes in a given table. The tutorial script below shows you a nice example:

mysql> SHOW INDEX FROM TIP;

+------------+-------------+--------------+-------------+...

| Non_unique | Key_name | Seq_in_index | Column_name |...

+------------+-------------+--------------+-------------+...

| 0 | PRIMARY | 1 | id |...

| 1 | tip_subject | 1 | subject |...

+------------+-------------+--------------+-------------+...

2 rows in set (0.03 sec)

It's interesting to see that there is a default index for the primary key column.

 195 views

105⟩ How To Delete an Existing Column in a Table?

If you have an existing column in a table and you do not need that column any more, you can delete it with "ALTER TABLE ... DROP COLUMN" statement. Here is a tutorial script to delete an existing column:

mysql> ALTER TABLE tip DROP COLUMN create_date;

Query OK, 1 row affected (0.48 sec)

Records: 1 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM tip;

+----+-------------+-------------------------+--------+

| id | subject | description | author |

+----+-------------+-------------------------+--------+

| 1 | Learn MySQL | Visit www.GlobalGuideLine.com | NULL |

+----+-------------+-------------------------+--------+

1 row in set (0.00 sec)

As you can see the column "create_date" is gone.

 207 views

106⟩ How To Create a Table Index in MySQL?

If you have a table with a lots of rows, and you know that one of the columns will be used often as a search criteria, you can add an index for that column to improve the search performance. To add an index, you can use the "CREATE INDEX" statement as shown in the following script:

mysql> CREATE TABLE tip (id INTEGER PRIMARY KEY,

subject VARCHAR(80) NOT NULL,

description VARCHAR(256) NOT NULL,

create_date DATE NULL);

Query OK, 0 rows affected (0.08 sec)

mysql> CREATE INDEX tip_subject ON tip(subject);

Query OK, 0 rows affected (0.19 sec)

Records: 0 Duplicates: 0 Warnings: 0

 183 views

107⟩ How To Create a New View in MySQL?

You can create a new view based on one or more existing tables by using the "CREATE VIEW viewName AS selectStatement" statement as shown in the following script:

mysql> CREATE TABLE comment (faqID INTEGER,

message VARCHAR(256));

Query OK, 0 rows affected (0.45 sec)

mysql> INSERT INTO comment VALUES (1, 'I like it');

Query OK, 1 row affected (0.00 sec)

mysql> CREATE VIEW faqComment AS SELECT f.id, f.title,

f.description, c.message FROM faq f, comment c

WHERE f.id = c.faqID;

Query OK, 0 rows affected (0.06 sec)

mysql> SELECT * FROM faqComment;

+----+-------------+-------------------------+-----------+

| id | title | description | message |

+----+-------------+-------------------------+-----------+

| 1 | Learn MySQL | Visit www.GlobalGuideLine.com | I like it |

+----+-------------+-------------------------+-----------+

1 row in set (0.07 sec)

 184 views

108⟩ How To Drop an Existing Index in MySQL?

If you don't need an existing index any more, you should delete it with the "DROP INDEX indexName ON tableName" statement. Here is an example SQL script:

mysql> DROP INDEX tip_subject ON tip;

Query OK, 0 rows affected (0.13 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> SHOW INDEX FROM TIP;

+------------+-------------+--------------+-------------+...

| Non_unique | Key_name | Seq_in_index | Column_name |...

+------------+-------------+--------------+-------------+...

| 0 | PRIMARY | 1 | id |...

+------------+-------------+--------------+-------------+...

1 row in set (0.00 sec)

 178 views

109⟩ How To Drop an Existing View in MySQL?

If you have an existing view, and you don't want it anymore, you can delete it by using the "DROP VIEW viewName" statement as shown in the following script:

mysql> DROP VIEW faqComment;

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM faqComment;

ERROR 1146 (42S02): Table 'ggl.faqcomment' doesn't exist

 160 views