To create a MySQL table with indexes, the syntax is as follows −
create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 );
Let us first create a table −
mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.63 sec)
Here is the query to create indexes with table −
mysql> create index id_index on DemoTable(Id); Query OK, 0 rows affected (0.36 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> create index Name_index on DemoTable(Name); Query OK, 0 rows affected (0.38 sec) Records: 0 Duplicates: 0 Warnings: 0
Now you can check the structure of table −
mysql> show create table DemoTable;
This will produce the following output −
+---------------+-----------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+-----------------------------------------------------------------------------------------+ | DemoTable | CREATE TABLE `DemoTable` ( `Id` int(11) DEFAULT NULL, `Name` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, KEY `id_index` (`Id`), KEY `Name_index` (`Name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +---------------+------------------------------------------------------------------------------------------+ 1 row in set (0.05 sec)