Can anyone explain to me, what key types can I use when creating tables and how to implement those (different keywords, different coding styles).
For example:
What exactly do last 3 lines (
PRIMARY KEY (`block_ID`),
UNIQUE KEY `block_ID` (`block_ID`),
KEY `block_ID_2` (`block_ID`) )
do in this example:
CREATE TABLE `blocks` (
`block_ID` int(11) NOT NULL auto_increment,
`block_title` varchar(255) default 'Block Title',
`block_file` varchar(255) default '0',
`plugin_ID` int(11) default '0',
`group_ID` int(11) default '0',
`site_ID` int(11) default NULL,
`mod_ID` int(11) default NULL,
PRIMARY KEY (`block_ID`),
UNIQUE KEY `block_ID` (`block_ID`),
KEY `block_ID_2` (`block_ID`)
) TYPE=MyISAM;
and why are they needed? (especially lines: UNIQUE KEY `block_ID` (`block_ID`), and
KEY `block_ID_2` (`block_ID`)) .
I kind of understand primary key thing ( PRIMARY KEY (`block_ID`),) and maybe

UNIQUE KEY `block_ID` (`block_ID`) also (though I don't understand why `block_ID` (`block_ID`) is needed, why not just UNIQUE KEY (`block_ID`), ), but why would one use KEY `block_ID_2` (`block_ID`)? What does one achieve with this KEY.... line? And are there any alternatives to this approach for implementing the same thing (that I would undestand better

) ?
O, did I mention that I'm new to DB and MySQL (as my noob questions don't reflect that

).
Could some one please shed some light on this key usage in MySQL or at least point me to some good source on web, where this things are well explained.
tnx